@odeddvir אמר בהזנת נתונים לטבלה קיימת:
@פלורידה לדעתי הדרך שחשבת עליה היא טובה.
למעשה הפקודה הזו עבדת מידי לאט. משהו כמו 3 שניות עד לסיום הפקודה.
אני מצרף את הקוד עד עתה:
' הצהרה על משתנה גלובלי Public DataWB As Workbook ' פונקציה לשליפה של קוד לפי פרמטרים Public Function m_kata(wordText As String) As Variant masecet = ActiveSheet.Range("A146") ActiveColumn = ActiveCell.Column - ActiveCell.ListObject.DataBodyRange.Column + 1 tanivchar = Selection ActiveTable = ActiveCell.ListObject amuda1 = ActiveSheet.ListObjects(ActiveTable).ListColumns(1).DataBodyRange amudanivchar = ActiveSheet.ListObjects(ActiveTable).ListColumns(ActiveColumn).DataBodyRange daf = Application.VLookup(tanivchar, Application.Choose(Array(1, 2), amudanivchar, amuda1), 2, 0) m_kata = Application.Index(Sheets("מקט").Range("T6:BF356"), Application.Match(daf, Sheets("מקט").Range("S6: S356"), 0), Application.Match(masecet, Sheets("מקט").Range("T6:BF6"), 0)) End Function 'פונקציה להכנסת הקוד בגליון מסויים בטבלה מסויימת Public Function AddRowToTable(sheet As Worksheet, tableName As String, rowData() As Variant) Dim lastRowNumber As Integer Dim lastRowRange As Range With Sheets("admin").ListObjects("data") .ListRows.Add lastRowNumber = .ListRows.Count Set lastRowRange = .ListRows(lastRowNumber).Range End With With lastRowRange Dim i As Integer For i = 0 To UBound(rowData) If i < .Columns.Count Then .Cells(1, i + 1) = rowData(i) Next i End With End Function sub קריאה_לקודים_הקודמים() Dim values(6) As Variant mezaheH = 1 values(0) = mezaheH values(1) = m_kata(Selection) values(2) = Date AddRowToTable ActiveSheet, "table1", values End sub