י' שואל:
יש לי טבלה עם הערות ואני רוצה ליבא כל הערות תוך טבלה נפרדת וגם שנוכל לראות לאיזה תא זה קשור.תשובה:
ניתן לבצע זאת באקסל על ידי שימוש בקוד VBA.
ניצור גיליון אקסל בשם "נתונים" ונגדיר בו טבלת נתונים ובחלק מהתאים נוסיף הערות.

נגדיר גיליון אקסל בשם "הערות" שיכיל טבלה עם העמודות - "תא מקור", "הערה" ו-"מחבר הערה" לטובת ריכוז ההערות מגיליון "נתונים".

בעורך VBA נוסיף מודול חדש ונגדיר בו את השגרה הבאה -
השגרה מנקה בשלב ראשון את הנתונים בגליון "הערות" החל משורה 2.
ובשלב שני עוברת על הטבלה בגיליון "נתונים" ועבור כל תא בו נמצאת הערה
מוסיפה שורה בטבלה בגיליון "הערות" הכוללת את כתובת התא, ההערה ומחבר ההערה.
Public Sub ExtractCommentsToTable()
Dim wsData As Worksheet, wsComments As Worksheet
Dim rngCell As Range, lngCommentRow As Long
Set wsData = Worksheets("נתונים") 'הגדרת גיליון נתונים
Set wsComments = Worksheets("הערות") 'הגדרת גיליון הערות
wsComments.Rows("2:" & wsComments.Rows.Count).ClearContents 'ניקוי נתונים בגיליון הערות מלבד שורת כותרות
lngCommentRow = 2 'שורה ראשונה בטבלה להוספת הערות
For Each rngCell In wsData.UsedRange ' מעבר על כל התאים עם הערות בגיליון
If Not rngCell.Comment Is Nothing Then
wsComments.Cells(lngCommentRow, 1).Value = rngCell.Address 'עדכון כתובת תא בטבלת הערות
wsComments.Cells(lngCommentRow, 2).Value = rngCell.Comment.Text 'עדכון הערה בטבלת הערות
wsComments.Cells(lngCommentRow, 3).Value = rngCell.Comment.Author 'עדכון מחבר הערה בטבלת הערות
lngCommentRow = lngCommentRow + 1 'מעבר לשורה הבאה בטבלת הערות
End If
Next rngCell
wsComments.Columns("A:C").AutoFit 'התאמת רוחב עמודות בטבלת הערות
End Sub
Dim wsData As Worksheet, wsComments As Worksheet
Dim rngCell As Range, lngCommentRow As Long
Set wsData = Worksheets("נתונים") 'הגדרת גיליון נתונים
Set wsComments = Worksheets("הערות") 'הגדרת גיליון הערות
wsComments.Rows("2:" & wsComments.Rows.Count).ClearContents 'ניקוי נתונים בגיליון הערות מלבד שורת כותרות
lngCommentRow = 2 'שורה ראשונה בטבלה להוספת הערות
For Each rngCell In wsData.UsedRange ' מעבר על כל התאים עם הערות בגיליון
If Not rngCell.Comment Is Nothing Then
wsComments.Cells(lngCommentRow, 1).Value = rngCell.Address 'עדכון כתובת תא בטבלת הערות
wsComments.Cells(lngCommentRow, 2).Value = rngCell.Comment.Text 'עדכון הערה בטבלת הערות
wsComments.Cells(lngCommentRow, 3).Value = rngCell.Comment.Author 'עדכון מחבר הערה בטבלת הערות
lngCommentRow = lngCommentRow + 1 'מעבר לשורה הבאה בטבלת הערות
End If
Next rngCell
wsComments.Columns("A:C").AutoFit 'התאמת רוחב עמודות בטבלת הערות
End Sub

נפעיל את השגרה ע"י לחיצה על לחצן המשולש הירוק בעורך VBA.
התוצאה לאחר ריצה השגרה - הטבלה בגיליון "הערות" תכיל את פרטי ההערות המופיעות בטבלה שבגיליון "נתונים".

בברכה,
צוות אניפיט