יצירת גיליונות רבים באקסל
-
יש לי קובץ אקסל עם עיצוב מסויים בצורה כזו
אני רוצה ליצור באיזור 500 גיליונות כאלו מ1 עד 500 בסדר עולה כך שכל המס' 1 שיש כאן ישתנה בגיליון השני ל-2 וב3 יהיה בהכל 3 וכו' עד 500
יש איזה קוד vba שיעשה את זה מהר?
וכמובן ששם הגיליון יהיה בהתאם
תודה מראש.... -
תקליט מאקרו (תציג את הכרטסת מפתחים בשביל זה) ותראה איך זה כתוב בקוד (ע"י הלחצן פקודות מאקרו > צעד לתוך).
אחר כך תשאל איך עושים לולאה, ותדע לעשות הכל. -
- צור את הגליון הראשון כפי שמופיע בתמונה
- תשנה את הערך של כל התאים חוץ מ-B1 להיות
=B1
זה יחסוך לנו אחר כך לשנות את כל התאים בגליונות, מספיק לשנות רק את תא B1
- פתח מודל ותדביק את הקוד הבא
Public Sub CreateSheets(NumOfSheets As Integer) Worksheets("1").Activate Dim i As Integer For i = 1 To NumOfSheets If Not SheetExist(CStr(i)) Then ActiveSheet.Copy After:=Worksheets(Sheets.Count) On Error Resume Next ActiveSheet.Name = CStr(i) ActiveSheet.Range("B1").Value = i End If Next i End Sub Function SheetExist(WorkSheetName As String) As Boolean Dim Worksheet As Worksheet SheetExist = False For Each Worksheet In ThisWorkbook.Worksheets If Worksheet.Name = WorkSheetName Then SheetExist = True End If Next End Function
- עכשיו תריץ בחלון Immediate
CreateSheets(500)
ביססתי את הקוד על פי האמור כאן.
-
@dovid אמר ביצירת גיליונות רבים באקסל:
תקליט מאקרו
זה נראה באמת יותר פשוט (הרתיעה שלי ממקרו-ים לפעמים עולה ביוקר...)
-
@OdedDvir
מדהיםרק עוד שאלה קטנה
אני רוצה ליצר סוג של חלון שבו אני מזין את מס' הגיליון ואני ילחץ אישור והוא ידפיס לי את הגיליון
איך אני עושה את זה בצורה הכי קלה? -
dim SheetNum as integer SheetNum = InputBox("הכנס מספר גליון להדפסה") Worksheets(cstr(SheetNum)).PrintOut