ג' שואל:
יש לי טופס שבו יש לי שדות קבועים בהם אני ממלא כל יום נתונים משתנים (תאריך, שם עובד, סכום כסף וכו').
בסוף הטופס יש לי כפתור מאקרו שמעתיק את הנתונים לטבלה, כששמות השדות הקבועים בטופס הם כותרות הטורים בטבלה.
איך אני גורם לפקודת המאקרו להכניס כל יום את הנתונים החדשים לשורה חדשה בטבלה ולא לדרוס מחדש כל פעם את הנתונים של היום הקודם?
תודה על העזרה.
תשובה:
1. ניתן לחשב את מספר השורה האחרונה בטבלה בשתי דרכים -
דרך ראשונה - חישוב מספר השורה האחרונה שבה מופיעים נתונים בגיליון על ידי התכונה UsedRange של גיליון.
דרך שנייה - חישוב מספר השורה האחרונה בעמודה הראשונה בטבלה על מעבר על התאים בעמודה הראשונה בטבלה החל משורת הכותרות וחיפוש התא הריק הראשון.
בשתי הדרכים יש להוסיף את הנתונים החדשים בשורה lngLastRow+1.
With Sheets("SheetName")
lngLastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
End With
With Sheets("SheetName")
lngLastRow = מספר שורת כותרות בטבלה
intHeadersColumn = מספר עמודה ראשונה בטבלה
While .Cells(lngLastRow, intHeadersColumn) <> ""
lngLastRow = lngLastRow + 1
Wend
lngLastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
End With
With Sheets("SheetName")
lngLastRow = מספר שורת כותרות בטבלה
intHeadersColumn = מספר עמודה ראשונה בטבלה
While .Cells(lngLastRow, intHeadersColumn) <> ""
lngLastRow = lngLastRow + 1
Wend
בברכה,
צוות אניפיט