-
זה הקוד שלי.
הבעיה בשורה 6 שאני משתמש בסוגריים מסולסלים (כמו שהייתי משתמש בפונקציה בתוך הגליון.)
כנראה שאי אפשר ב-vba
יש משהו במקום??Public Function m_kata(wordText As String) As Variant מסכת= ActiveSheet.Range("A6") tanivchar = Selection amuda1 = ActiveSheet.ListObjects("טבלה2").ListColumns(1) amudanivchar = ActiveSheet.ListObjects("טבלה2").ListColumns(3) דף= Application.VLookup(tanivchar, Application.Choose({1, 2}, amudanivchar, amuda1), 2, 0) m_kata = Application.Index(Sheets("מקט").Range("T6:BF356"), Application.Match(דף, Sheets("מקט").Range("S6: S356"), 0), Application.Match(מסכת, Sheets("מקט").Range("T6:BF6"), 0)) End Function
בגליון אני משתמש בזה ככה: (כמובן הפוך LTR)
=VLOOKUP(A1,CHOOSE({1,2}, טבלה2[עמודה3], טבלה2[עמודה1]), 2, 0)
-
-
אין לי שגיאה ברוך ה'.
אלא שהתוצאה של הפונקציה היא:#N/A
.מבדיקה שערכתי הבעיה היא בשורות
4,6
(החלופות שנתתי להם בשורות5,7
פועלות כראוי.)Public Function m_kata(wordText As String) As Variant masecet = ActiveSheet.Range("A6") tanivchar = Selection amuda1 = ActiveSheet.ListObjects("טבלה24").ListColumns(1) 'amuda1 = Sheets("מקט").Range("c25:c35") amudanivchar = ActiveSheet.ListObjects("טבלה24").ListColumns(3) 'amudanivchar = Sheets("מקט").Range("e25:e35") 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
הסיבה שאני לא משתמש בחלופות, משום שאני צריך שהפונקציה שלי תדע לבד, מהי הטבלה שאני עומד בה, ומהי העמודה שאני עומד בה.
-