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

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

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

קוד מאקרו שאינו עובד

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

    @חנון-המרבה המאקרו לא רץ בכלל? או שהוא נתקע איפשהו? כי א"כ היכן הוא נתקע? מה הודעת השגיאה שקופצת לך? (או שבכלל הוא נתקע בהרצה של הפונקציה השניה שאתה קורא לה מתוכה (מאקרו 13) שהקובץ המצוין לא זמין וכדו')
    תוכל לתת יותר פרטים?

    חנון המרבהח תגובה 1 תגובה אחרונה
    3
    • אורייא מנותק
      אורייא מנותק
      אוריי
      השיב למשחזר מידע ב נערך לאחרונה על ידי
      #3

      @משחזר-מידע אמר בקוד מאקרו שאינו עובד:

      @חנון-המרבה אמר בקוד מאקרו שאינו עובד:

      ובהזדמנות זו אשאל האם יש אפשרות ב'MsgBox' שההודעה תופיע זמן מסוים ולאחמ"כ היא תעלם?!

      createobject("wscript.shell").popup(...)
      

      @משחזר-מידע תוכל לתת לי הסבר איך בדיוק עושים את זה (קצת יותר מפורט)
      תודה מראש..

      ניתן לפנות אלי גם ב al0548446188@gmail.com
      ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

      מ תגובה 1 תגובה אחרונה
      0
      • חנון המרבהח מנותק
        חנון המרבהח מנותק
        חנון המרבה
        השיב לnach ב נערך לאחרונה על ידי
        #4

        @nach זה לא נתקע, אבל אני מכניס את הנתון הנכון ב InputBox וזה מחזיר לי MsgBox של השגיאה (דהיינו שקופץ לי חלון "הסיסמא אינה נכונה")

        nachN תגובה 1 תגובה אחרונה
        0
        • nachN מנותק
          nachN מנותק
          nach
          השיב לחנון המרבה ב נערך לאחרונה על ידי nach
          #5

          @חנון-המרבה
          לא מבין איפה השאלה, כנראה שאכן הסיסמא אינה נכונה אתה מחפש בקוד האם Aשווה לC והיות שמה שהזנת לא שווה לC לכן הוא עובר לבלוק ההוראות הבא שאומר להדפיס הודעה כנ"ל,
          תנסה להכניס את הסיסמא 100, תבדוק אם יעבוד.

          תגובה 1 תגובה אחרונה
          1
          • nachN מנותק
            nachN מנותק
            nach
            כתב ב נערך לאחרונה על ידי
            #6

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

            תגובה 1 תגובה אחרונה
            2
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #7

              הבעיה היא בגלל שה100 הינו טקסט, היינו "100", וזה שונה מ100 שהוא מספר.
              למשל הקוד הבא

              Dim aNumber
              Dim bStr
              
              aNumber = 1000
              bStr = "1000"
              
              If bStr = aNumber Then
                  MsgBox "שווה"
              Else
                  MsgBox "שונה"
              End If
              

              יקפיץ את התיבה "שונה" (זאת למרות שכאשר בקוד עצמו יש השוואת מספר לטקסט זהה התנאי מתקיים, כנראה בגלל שלפני ההשוואה מתבצעת המרה).

              אז הפתרון הוא לכתוב ככה:

              If bStr = ("" & aNumber) Then
              

              או אלגנטית לפי הספר, המרה לטקסט

              If bStr = CStr(aNumber) Then
              

              שזה אומר במקרה שלנו לכתוב

              If A = CStr(C) Then
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              clickoneC dovidD 2 תגובות תגובה אחרונה
              2
              • clickoneC מנותק
                clickoneC מנותק
                clickone
                השיב לdovid ב נערך לאחרונה על ידי clickone
                #8

                @dovid אמר בקוד מאקרו שאינו עובד:

                הבעיה היא בגלל שה100 הינו טקסט, היינו "100", וזה שונה מ100 שהוא מספר.

                בVBA
                100="100"

                ?100="100"
                True
                

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

                בכל מקרה, כמו ש @dovid כתב, הפיתרון הוא להמיר לסטרינג

                If A = CStr(C) Then
                

                אין טסט כמו פרודקשן.

                המייל שלי urivpn@gmail.com

                תגובה 1 תגובה אחרונה
                1
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לdovid ב נערך לאחרונה על ידי
                  #9

                  @dovid אמר בקוד מאקרו שאינו עובד:

                  (זאת למרות שכאשר בקוד עצמו יש השוואת מספר לטקסט זהה התנאי מתקיים, כנראה בגלל שלפני ההשוואה מתבצעת המרה).

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  dovidD תגובה 1 תגובה אחרונה
                  2
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לdovid ב נערך לאחרונה על ידי
                    #10

                    @clickone הצדק איתך, זכרת טוב. גם במשתנים זה עובד יופי.
                    ניסיתי להבין מה ההבדל בין 100="100" לבין משתנים, וההבדל היחיד שחשבתי זה שהמפרש ממיר את המספר לטקסט לפני ההשוואה, כי הוא רואה שזה טיפוסים שונים. נו ולמה הוא לא רואה במשתנים? הסתכלתי על הקוד והבנתי! המשתנים הם חסרי סוג!

                    כלומר הפתרון הוא לכתוב:

                    Dim A As String
                    Dim B, C As Integer
                    

                    ואז זה עובד...

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    2
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב למשחזר מידע ב נערך לאחרונה על ידי dovid
                      #11

                      @חנון-המרבה תשתדל לפתוח כל פעם נושא נפרד לכל שאלה.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      3

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

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

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