سلام وقت بخیر ایا در vbaمی توان فرمانی را برای یک botton نوشت که در چند شیت هم زمان اجرا شودمثلا شیت ۲ ال ۵ یا حتی چند شیت *پراکنده
چند شیت اکتیو هم زمان
Collapse
X
-
کامنت
-
ممنون و اگر بخواهیم شرطی را مشترک بین این شیت ها در نظر بگیریم چی ؟مثلا اگر خانه c16 در شیت های ۴-۵-۶-۷-۸ بیشتر از ۰ بود انوقت پرینت گرفته شودکامنت
-
ماکرویی به شکل زیر بنویسید
کد PHP:
Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
شرط ها را وارد کنید
Next I
End Sub
[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
ممنون از پاسخ های سریع شما سرچ کردم اما نتونستم نحوه ساخت وقرار دادن ماکرو را درvba پیدا کنم ممنون میشم بگید چطوری این ماکرو را درست کنم ودر vba قراردهم( ایا شرطها را به همان سبکvba بنویسم در ماکرو جایی که فرمودید کدها رابنویسم)کامنت
-
alt+f11 رو بزنید وارد محیط vba editor بشید و از منوی insert روی module کلیک کنید و کد رو وارد کنید[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
ممنون انجام دادم اما نمیدونم چطور ارتباط این ماکرو رو با bottonمورد نظر برقرار کنم که وقتی آن را انتخاب میکنم فرمان اجرا شودکامنت
-
اگر دكمه شما در محيط اكسل هست، ابتدا در محيط vba يك ماژول بسازين با نام مناسب بعد روي دكمه راست كليك كنيد و assign macro رو بزنين و اگر در فرم هست دابل كليك كنيد و كدتون رو تو ساب روتين ايجاد شده قرار بدينکامنت
-
سلام عذر میخواهم و ممنون جواب میده اما فقط شیت فعال را پرینت میده اما من شیت های خاصی مثلا 2 -3 4-مد نظرم هست الان فقط برای شیت فعال کار میکنه.کامنت
-
سلام کد زیر جواب میده اما یه اشکال داره اینکه شرط If Range("c16") > 0 حتی اگه تو یه شیت هم صدق نکنه پرینت بقیه رو نمیده من میخواهم شیتهایی که سل س 16 در انها خالی باشه پرینت اونها رو نده ولی پرینت بقیه رو بده
Private Sub CommandButton9_Click()
If Range("c16") > 0 Then
Range("A1:E32").Select
Sheets(Array("Sheet3", "Sheet4", "Sheet8", "Sheet9", "Sheet10")).Select
Me.Hide
ActiveWindow.SelectedSheets.PrintPreview
Me.Show
End If
End SubLast edited by leilaasgharpour@ymail.com; 2014/02/13, 22:58.کامنت
-
شما بايد شرط و همچنين دستور پرينت رو داخل حلقه قرار بدينسلام کد زیر جواب میده اما یه اشکال داره اینکه شرط If Range("c16") > 0 حتی اگه تو یه شیت هم صدق نکنه پرینت بقیه رو نمیده من میخواهم شیتهایی که سل س 16 در انها خالی باشه پرینت اونها رو نده ولی پرینت بقیه رو بده
Private Sub CommandButton9_Click()
If Range("c16") > 0 Then
Range("A1:E32").Select
Sheets(Array("Sheet3", "Sheet4", "Sheet8", "Sheet9", "Sheet10")).Select
Me.Hide
ActiveWindow.SelectedSheets.PrintPreview
Me.Show
End If
End Subکامنت




کامنت