PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] درج خودکار شماره فاکتور در شیت های مختلف اکسل



ari
2017/12/02, 18:09
سلام و خسته نباشید خدمت اساتید
میخوام در 100 شیت 100 فاکتور فروش داشته باشم که فاکتور فروش شیت 1 با شماره 5000 شروع بشه و با اضافه ( کپی ) شیت بعدی فرمولی بهش بدم که خود به خود بشه 5001 و به ترتیب شیت بعدی 5002 و ...
در حالت عادی مثلا شیت 1 سلول A1 شماره فاکتور 5000 باشه در شیت 2 سلول A1 فرمولSheet1!A1+1 رو میزنم و طبیعتا میشه 5001 و برای مابقی شیت ها هم همین فرمول اما می خوام Sheet1!A1+1 در شیت بعدی بصورت خودکار بشه Sheet1!A1+2 و شیت بعدی 3+ و به ترتیب تا شیت 100
ممنون میشم کمک

misammisam
2017/12/02, 19:06
سلام
تو فرمول نویسی خود اکسل به هر حال شما باید تو سلولتون یه فرمولی بنویسید که یه جوابی به شما بده ، ولی با کد نویسی با vb میتونید از این فرمول استفاده کنید تا با توجه به ایندکس تولیدی شیتتون بطور خودکار شماره بزنه براتون ، فقط دقت کنید اگه یه شیتو از اون وسط شیتهاتتون یوقت پاک کنید شماره ایندکس شیتها بهم میریزه و تمام شماره فاکتوراتونم خراب میشه .

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Range("a1").Value = ActiveSheet.Index + 5000
End Sub

ari
2017/12/02, 21:15
ممنون بابت جوابتون
حل شد
جسارتا یه سوال دیگه
حالا اگه بخوایم 100 تا شیتی که داریم از تاریخ های سطر 1 شیت 1 تغزیه بشن ( یعنی سلول a2 شیت2 از سلول b2 شیت 1 و سلول a2 شیت 3 از سلول b3 شیت 1 و ... ) راهی داره که همزمان با یک فرمول این کار انجام بشه .

misammisam
2017/12/03, 02:57
اینارو دیگه با ادیت کردن کد راحت میتونید درستش کنید

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If (ActiveSheet.Index <> "1") Then
NumberCell = ActiveSheet.Index
ActiveSheet.Range("A2").Value = Sheet1.Range("A" & NumberCell).Value
End If
End Sub

ari
2017/12/03, 10:15
سلام ممنون از راهنماییتون
متاسفانه از کد نویسی چیزی نمی دونم
اگه امکانش هست فایل رو میفرستم زحمتشو بکشین برام
میخوام تو شیت دوم جلو تاریخ از شیت 1 خونده بشه و بترتیب با هر کپی جدید شیت تاریخ بعدی زده بشه و نام اشخاص و مبلغ هم به همین صورت
خیلی شرمنده
تشکر

misammisam
2017/12/03, 19:14
سلام ممنون از راهنماییتون
متاسفانه از کد نویسی چیزی نمی دونم
اگه امکانش هست فایل رو میفرستم زحمتشو بکشین برام
میخوام تو شیت دوم جلو تاریخ از شیت 1 خونده بشه و بترتیب با هر کپی جدید شیت تاریخ بعدی زده بشه و نام اشخاص و مبلغ هم به همین صورت
خیلی شرمنده
تشکر
از اونجایی که شما کد نویسی vb کم میدونیدو و منم خودم حسابدارم میدونم که یه اشتباه کوچیک تو این موارد میتونه آدمو بدبخت کنه بهتون پیشنهاد میدم شما اینجا از vb استفاده نکنید و از توابع خود اکسل استفاده کنید .
برای زدن کدهاتون از Data Validation و برای پیدا کردن تاریخ و اسامی و غیره از Vlookup استفاده کنید ، فقط کافیه کدهارو برای هر فاکتور جدید مشخص کنید مثل فایل پیوست :

ari
2017/12/04, 09:47
سلام استاد گرامی
ممنون از لطفتون
با کد vb که زحمت کشیدین فرستادین درستش کردم
تشکر فراوان