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

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

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

איך עושים ארוע באקסל בעת שינוי בתא מסוים

מתוזמן נעוץ נעול הועבר תכנות
אקסל
14 פוסטים 3 כותבים 1.2k צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Y מנותק
    Y מנותק
    yits
    כתב ב נערך לאחרונה על ידי yits
    #2

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

    איך אפשר לעשות את הארוע בצורה יותר תקינה?

    לקניה והנחות ב KSP כנסו מכאן.
    למוצרים עם הנחה מכאן.

    תגובה 1 תגובה אחרונה
    0
    • chagoldC מנותק
      chagoldC מנותק
      chagold
      כתב ב נערך לאחרונה על ידי
      #3

      @yits
      בנוגע לשאלה הראשונה
      הנתונים המרועננים שמגיעים מהד"ב הם קשורים לאותה הטבלה? כי אם לא , אז תעביר את הטבלה לגליון אחר.

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

        @yits אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

        Place

        תשתמש באירוע Change, ותבדוק אם הארגומנט Target בטווח הרצוי (אני מניח שאתה מתכוון ב"שם" לשם טווח, נכון?).
        כדי למנוע רקורסיה תצהיר על דגל שימנע ביצוע של האירוע עד לסוף הפעולה.

        Dim ToggleSuspenEvent As Boolean
        
        Private Sub Worksheet_Change(ByVal Target As Range)
            If ToggleSuspenEvent Then End
            If Intersect(Target, Me.Range("Place")) Is Nothing Then End
        
            ToggleSuspenEvent = True
            
            'תעדכן מה שבא לך פה'
        
            ToggleSuspenEvent = False
        End Sub
        
        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        Y 2 תגובות תגובה אחרונה
        2
        • chagoldC chagold

          @yits
          בנוגע לשאלה הראשונה
          הנתונים המרועננים שמגיעים מהד"ב הם קשורים לאותה הטבלה? כי אם לא , אז תעביר את הטבלה לגליון אחר.

          Y מנותק
          Y מנותק
          yits
          כתב ב נערך לאחרונה על ידי
          #5

          @chagold אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

          @yits
          בנוגע לשאלה הראשונה
          הנתונים המרועננים שמגיעים מהד"ב הם קשורים לאותה הטבלה? כי אם לא , אז תעביר את הטבלה לגליון אחר.

          אני מעוניין שמי שעובד על הקובץ יראה את הנתונים המעודכנים לפניו (בצד ימין).

          לקניה והנחות ב KSP כנסו מכאן.
          למוצרים עם הנחה מכאן.

          תגובה 1 תגובה אחרונה
          0
          • dovidD dovid

            @yits אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

            Place

            תשתמש באירוע Change, ותבדוק אם הארגומנט Target בטווח הרצוי (אני מניח שאתה מתכוון ב"שם" לשם טווח, נכון?).
            כדי למנוע רקורסיה תצהיר על דגל שימנע ביצוע של האירוע עד לסוף הפעולה.

            Dim ToggleSuspenEvent As Boolean
            
            Private Sub Worksheet_Change(ByVal Target As Range)
                If ToggleSuspenEvent Then End
                If Intersect(Target, Me.Range("Place")) Is Nothing Then End
            
                ToggleSuspenEvent = True
                
                'תעדכן מה שבא לך פה'
            
                ToggleSuspenEvent = False
            End Sub
            
            Y מנותק
            Y מנותק
            yits
            כתב ב נערך לאחרונה על ידי
            #6

            @dovid אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

            ותבדוק אם הארגומנט Target בטווח הרצוי (אני מניח שאתה מתכוון ב"שם" לשם טווח, נכון?).

            זה מה שאני עושה כרגע.

            כדי למנוע רקורסיה תצהיר על דגל שימנע ביצוע של האירוע עד לסוף הפעולה.

            ניסיתי את זה בעבר , ולא עזר,
            הבעיה שעדכון הנתונים מבוצע ע"י Refresh ובנתיים הפונקציה מסיימת ומחזירה את הדגל ל False.
            ולאחר חצי שניה או משהו כזה נגמר העדכון ושוב הפונקציה קופצת.

            לקניה והנחות ב KSP כנסו מכאן.
            למוצרים עם הנחה מכאן.

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

              אני לא מבין. התא שעליו אתה עוקב, הוא עצמו מתרענן ממקור חיצוני? איך זה הגיוני?

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              תגובה 1 תגובה אחרונה
              1
              • Y מנותק
                Y מנותק
                yits
                כתב ב נערך לאחרונה על ידי
                #8

                אני משנה תא שיש לו בחירה מתוך רשימה,
                הרשימה נמצאת על הגיליון בצד ימין.

                לאחר שינוי אני מעדכן כמה דברים, ואח"כ עושה רענון לעמודה בצד ימין.

                לקניה והנחות ב KSP כנסו מכאן.
                למוצרים עם הנחה מכאן.

                תגובה 1 תגובה אחרונה
                0
                • dovidD dovid

                  @yits אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                  Place

                  תשתמש באירוע Change, ותבדוק אם הארגומנט Target בטווח הרצוי (אני מניח שאתה מתכוון ב"שם" לשם טווח, נכון?).
                  כדי למנוע רקורסיה תצהיר על דגל שימנע ביצוע של האירוע עד לסוף הפעולה.

                  Dim ToggleSuspenEvent As Boolean
                  
                  Private Sub Worksheet_Change(ByVal Target As Range)
                      If ToggleSuspenEvent Then End
                      If Intersect(Target, Me.Range("Place")) Is Nothing Then End
                  
                      ToggleSuspenEvent = True
                      
                      'תעדכן מה שבא לך פה'
                  
                      ToggleSuspenEvent = False
                  End Sub
                  
                  Y מנותק
                  Y מנותק
                  yits
                  כתב ב נערך לאחרונה על ידי
                  #9

                  @dovid אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                  תשתמש באירוע Change.

                  האם התכוונת שזה יפתור לי את הבעיה השניה.
                  כי ברגע שאני משנה ולוחץ Enter אין לי כבר אפשרות לדעת היכן בוצע השינוי,
                  אלא א"כ זה מתוך רשימה שאז הוא מבצע אירוע של Change ונשאר באותו תא.

                  לקניה והנחות ב KSP כנסו מכאן.
                  למוצרים עם הנחה מכאן.

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

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

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    תגובה 1 תגובה אחרונה
                    1
                    • Y yits

                      @dovid אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                      תשתמש באירוע Change.

                      האם התכוונת שזה יפתור לי את הבעיה השניה.
                      כי ברגע שאני משנה ולוחץ Enter אין לי כבר אפשרות לדעת היכן בוצע השינוי,
                      אלא א"כ זה מתוך רשימה שאז הוא מבצע אירוע של Change ונשאר באותו תא.

                      dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי
                      #11

                      @yits אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                      @dovid אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                      תשתמש באירוע Change.

                      האם התכוונת שזה יפתור לי את הבעיה השניה.
                      כי ברגע שאני משנה ולוחץ Enter אין לי כבר אפשרות לדעת היכן בוצע השינוי,
                      אלא א"כ זה מתוך רשימה שאז הוא מבצע אירוע של Change ונשאר באותו תא.

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

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      Y תגובה 1 תגובה אחרונה
                      1
                      • Y מנותק
                        Y מנותק
                        yits
                        כתב ב נערך לאחרונה על ידי
                        #12

                        אני יסביר באריכות

                        יש לי גליון אקסל שהגדרתי תאים לפי מקומות ישיבה בבית הכנסת,
                        יש לי DB עם רשימת המתפללים שבקשו מקום (עבור ימים נוראים וכדו'),

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

                        לאחר בחירה של מתפלל מתוך הרשימה קופץ ארוע,
                        לאחר מכן מתבצע עדכון אוטמטי לגיליון מקושר (DlookUp לתא),
                        ומתבצע עדכון ל DB,
                        ועכשיו אנחנו עושים רענון נתונים (של המתפללים שאין להם מקום).

                        לקניה והנחות ב KSP כנסו מכאן.
                        למוצרים עם הנחה מכאן.

                        תגובה 1 תגובה אחרונה
                        0
                        • dovidD dovid

                          @yits אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                          @dovid אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

                          תשתמש באירוע Change.

                          האם התכוונת שזה יפתור לי את הבעיה השניה.
                          כי ברגע שאני משנה ולוחץ Enter אין לי כבר אפשרות לדעת היכן בוצע השינוי,
                          אלא א"כ זה מתוך רשימה שאז הוא מבצע אירוע של Change ונשאר באותו תא.

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

                          Y מנותק
                          Y מנותק
                          yits
                          כתב ב נערך לאחרונה על ידי
                          #13

                          @dovid אמר באיך עושים ארוע באקסל בעת שינוי בתא מסוים:

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

                          אתה צודק באמת אני השתמשתי ב Change, ולא כמו שכתבתי.
                          בצעתי עריכה בשאלה

                          לקניה והנחות ב KSP כנסו מכאן.
                          למוצרים עם הנחה מכאן.

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

                            אכן בעיה.

                            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                            תגובה 1 תגובה אחרונה
                            1
                            תגובה
                            • תגובה כנושא
                            התחברו כדי לפרסם תגובה
                            • מהישן לחדש
                            • מהחדש לישן
                            • הכי הרבה הצבעות


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

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

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