דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. סוגריים מסולסלים vba

סוגריים מסולסלים vba

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 2 כותבים 213 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • פ מנותק
    פ מנותק
    פלורידה
    כתב ב נערך לאחרונה על ידי פלורידה
    #1

    זה הקוד שלי.

    הבעיה בשורה 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)

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לפלורידה ב נערך לאחרונה על ידי OdedDvir
      #2

      @פלורידה אמר בסוגריים מסולסלים vba:
      הטעות היא שהפונקציה Choose צריכה לקבל טווח, ושפת VBA לא מפרשת סוגריים מסולסלות בתור טווח.
      הפתרון הוא להעביר את הטווח הרצוי כמחרוזת לפונקציה Range, כך:

      Choose(Range("{1, 2}"), amudanivchar, amuda1)
      
      פ תגובה 1 תגובה אחרונה
      2
      • פ מנותק
        פ מנותק
        פלורידה
        השיב לOdedDvir ב נערך לאחרונה על ידי פלורידה
        #3

        @odeddvir

        6df0a0d9-92f6-4f14-93e4-914c0432bf41-image.png

        הוא עדיין מראה על שגיאה.


        אני רואה כאן, שמציעים להתשמש ב Array(1, 2) במקום {1,2}

        לי אישית הקוד עדיין אינו פועל, אך מסיבה אחרת

        OdedDvirO תגובה 1 תגובה אחרונה
        1
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          השיב לפלורידה ב נערך לאחרונה על ידי
          #4

          @פלורידה אתה צודק, אי אפשר להשתמש ב-Range עבור מערכים.
          תצרף את הקוד שעשית עם Array, ואת הודעת השגיאה שקיבלת.

          פ תגובה 1 תגובה אחרונה
          1
          • פ מנותק
            פ מנותק
            פלורידה
            השיב לOdedDvir ב נערך לאחרונה על ידי פלורידה
            #5

            @odeddvir

            אין לי שגיאה ברוך ה'.
            אלא שהתוצאה של הפונקציה היא: #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
            

            הסיבה שאני לא משתמש בחלופות, משום שאני צריך שהפונקציה שלי תדע לבד, מהי הטבלה שאני עומד בה, ומהי העמודה שאני עומד בה.

            תגובה 1 תגובה אחרונה
            0
            • dovidD dovid העביר נושא זה מ-תכנות ב-

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום