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

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

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

עריכת קוד VBA באקסל

מתוזמן נעוץ נעול הועבר תכנות
23 פוסטים 2 כותבים 1.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    השיב לsearchnicks ב נערך לאחרונה על ידי
    #10

    @מתמחה-במחשבים
    עשית מצויין ואני לא רואה סיבה שזה לוקח זמן.
    ניסיתי אצלי ועבד מצויין. בדוק נתיב תיקיה אחר (אולי הבעיה זה גישה לאחד הקבצים שם).

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

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

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

      @dovid
      קודם תודה רבה על הציון לשבח

      עליתי על מתי שקורה לי הבעיה
      אקדים בקצרה
      בניתי שני כפתורים באקסל
      כפתור אחד מאקרו שמציב נתיב תיקיה שבחרתי (בדו שיח)
      וכפתור שני שמציב רשימת קבצים (חוברות עבודה) שנמצאים בתוך התיקיה

      כעת שאני מפעיל הכפתור השני לרענון הרשימת הקבצים עובד ללא דופי
      אך שאני מפעיל הכפתור הראשון שאמור להציב את הנתיב של התיקיה, לוקח לו זמן רב (מחשב 4 הליכי משנה וכו')
      ככל הנראה, מכיוון שהמאקרו השני שואב את הרשימת קבצים לפי נתיב בתא שהמאקרו הראשון מציב, כנראה שיוצרת בעיה מסויימת

      אם תרצה אתאר לשם מה אני משתמש בזה

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

        אין לי מושג מה הבעיה, אבל התיאוריה שגויה.
        הבעיה היא ככל הנראה בקוד הכפתור הראשון אותו אינני מכיר ומעולם לא ראיתי.

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

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

        searchnicksS תגובה 1 תגובה אחרונה
        0
        • searchnicksS מנותק
          searchnicksS מנותק
          searchnicks
          השיב לdovid ב נערך לאחרונה על ידי
          #13

          @dovid
          זה הקוד כפתור ראשון

          Sub browseFolderPath()
              On Error GoTo err
              Dim fileExplorer As FileDialog
              Set fileExplorer = Application.FileDialog(msoFileDialogFolderPicker)
              
              'To allow or disable to multi select
              fileExplorer.AllowMultiSelect = False
              
              With fileExplorer
                  If .Show = -1 Then 'Any folder is selected
                      ['גיליון5'!H1] = .SelectedItems.Item(1)
                  Else ' else dialog is cancelled
                      MsgBox "עליך לבחור נתיב תיקיה מתאימה"
                  End If
              End With
          err:
              Exit Sub
          End Sub
          
          תגובה 1 תגובה אחרונה
          1
          • dovidD מחובר
            dovidD מחובר
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #14

            משונה, הקוד הזה רץ אצלי בלי רגע של שיהוי.
            יש לתא הזה השפעה על תא אחר כל שהוא?
            נקוד של הכפתור השני מופעל אוטומטית בשינוי של הראשון או רק לאחר לחיצה?

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

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

            searchnicksS 3 תגובות תגובה אחרונה
            0
            • searchnicksS מנותק
              searchnicksS מנותק
              searchnicks
              השיב לdovid ב נערך לאחרונה על ידי searchnicks
              #15

              @dovid אמר בעריכת קוד VBA באקסל:

              משונה, הקוד הזה רץ אצלי בלי רגע של שיהוי.
              יש לתא הזה השפעה על תא אחר כל שהוא?
              נקוד של הכפתור השני מופעל אוטומטית בשינוי של הראשון או רק לאחר לחיצה?

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

              תגובה 1 תגובה אחרונה
              0
              • searchnicksS מנותק
                searchnicksS מנותק
                searchnicks
                השיב לdovid ב נערך לאחרונה על ידי
                #16

                @dovid אמר בעריכת קוד VBA באקסל:

                נקוד של הכפתור השני מופעל אוטומטית בשינוי של הראשון או רק לאחר לחיצה?

                רק לאחר לחיצה

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

                  לפי הנתונים שלך התיאוריה שלך נכונה, אבל היא לא.
                  אז מה הפשט? לא יודע.

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

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

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

                    @dovid
                    תודה רבה
                    איך אוכל לעלות על שורש הבעיה?

                    תגובה 1 תגובה אחרונה
                    0
                    • searchnicksS מנותק
                      searchnicksS מנותק
                      searchnicks
                      השיב לdovid ב נערך לאחרונה על ידי
                      #19

                      @dovid אמר בעריכת קוד VBA באקסל:

                      משונה, הקוד הזה רץ אצלי בלי רגע של שיהוי.

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

                      אין לי מושג איפה קבור הכלב

                      searchnicksS תגובה 1 תגובה אחרונה
                      0
                      • searchnicksS מנותק
                        searchnicksS מנותק
                        searchnicks
                        השיב לsearchnicks ב נערך לאחרונה על ידי
                        #20

                        @dovid
                        בסייעתא דשמיא מצאתי את הכלב
                        מתברר שהיה לי קוד (פונקציה מותאמת אישית) נוסף (שעבד מאד טוב)
                        ששאב את הנתון מתא של נתיב קובץ (שהוצב ע"י המאקרו הנל)
                        התברר שכל פעם שאני משנה את הנתיב של הקובץ הוא מבצע החישובים שוב (דבר שלוקח זמן שמדובר בכמות תאים)
                        ולא שמתי לב לזה מכיוון שלפני ששמתי את המאקרו לא שיניתי כלל את הנתיב (כי לא היה צורך)

                        בכל אופן תודה רבה על הרצון לסייע!!!

                        תגובה 1 תגובה אחרונה
                        1
                        • searchnicksS מנותק
                          searchnicksS מנותק
                          searchnicks
                          כתב ב נערך לאחרונה על ידי
                          #21

                          שיניתי את הקוד הבעייתי לקוד שיציג תיבת אזהרה על כך שייקח זמן רב

                          Sub browseFolderPath()
                              On Error GoTo err
                              Dim fileExplorer As FileDialog
                              Dim answer As Integer
                              answer = MsgBox("לאחר בחירה מחדש של התיקיית דוחות, יש להמתין מס' דקות כדי לחשב מחדש, האם אתה רוצה להמשיך?", vbYesNo + vbExclamation + vbDefaultButton2 + vbMsgBoxRtlReading)
                          If answer = vbYes Then
                              Set fileExplorer = Application.FileDialog(msoFileDialogFolderPicker)
                              
                              'To allow or disable to multi select
                              fileExplorer.AllowMultiSelect = False
                              
                              With fileExplorer
                                  If .Show = -1 Then 'Any folder is selected
                                      ['גיליון5'!H1] = .SelectedItems.Item(1)
                                  Else ' else dialog is cancelled
                                      MsgBox "עליך לבחור נתיב תיקיה מתאימה"
                                  End If
                              End With
                          err:
                              Exit Sub
                          MsgBox "הנתיב שצוין הוא" & vbNewLine & vbNewLine & Range("'גיליון5'!H1").Value
                          Else
                              'do nothing
                          End If
                          End Sub
                          תגובה 1 תגובה אחרונה
                          1
                          • searchnicksS מנותק
                            searchnicksS מנותק
                            searchnicks
                            כתב ב נערך לאחרונה על ידי searchnicks
                            #22
                            פוסט זה נמחק!
                            dovidD תגובה 1 תגובה אחרונה
                            0
                            • dovidD מחובר
                              dovidD מחובר
                              dovid ניהול
                              השיב לsearchnicks ב נערך לאחרונה על ידי
                              #23

                              @מתמחה-במחשבים נושא חדש בבקשה, בקטגוריה תכנות.

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

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

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

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

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

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