1

ארוע לאחר שינוי באקסל

הנושא בפורום 'פורום תוכנות מייקרוסופט אופיס' פורסם ע"י yits, ‏21/3/18.

תגיות:
  1. yits

    yits משתמש פעיל

    הצטרף:
    ‏30/1/13
    הודעות:
    168
    תודות :
    77
    נקודות:
    29
    @moishy
    יש לי גליון אקסל שהגדרתי תאים לפי מפה מסוימת,
    יש לי DB עם רשימת אנשים שנרשמו,

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

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

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

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

    yits משתמש פעיל

    הצטרף:
    ‏30/1/13
    הודעות:
    168
    תודות :
    77
    נקודות:
    29
  3. moishy

    moishy משתמש מקצוען

    הצטרף:
    ‏26/12/11
    הודעות:
    1,464
    תודות :
    147
    נקודות:
    74
    עיסוק:
    יועץ נישואין, מדריך חתנים
    מיקום:
    רכסים
    אני מניח שבתחומים קיבלת מענה מספק לשאלתך.
    במידה ולא, ולתועלת אלו שאינם מנויים לפורום העילית (כמוני), אכתוב את תשובתי.
    במידה והבנתי את שאלתך, עצתי היא במקום להעביר את הבחירה לתא אחר, יש להשתמש עם משתנה בוליאני, שיש לשנות לfalse במקום שינוי הבחירה, ובקוד בעת עדכון להוסיף תנאי שיפעל רק אם המשתנה האמור מוגדר כtrue.
     
  4. yits

    yits משתמש פעיל

    הצטרף:
    ‏30/1/13
    הודעות:
    168
    תודות :
    77
    נקודות:
    29
    @moishy אני מתנצל שרק עכשיו אני רואה את ההודעה שלך.
    (פשוט ראיתי שהגבת באינפורום לאחר הרבה זמן שלא היית פעיל שם אז נזכרתי לבדוק)

    בכל אופן אם בדקת מה כתבתי בתחומים אז ראית שכתבו לי את הפתרון הזה אבל כתבתי שם בהמשך כך:
    אז האם יש לך פתרון לזה?.
    ואגב אני חושב שמחכים לראות אותך גם בתחומים.
     
  5. moishy

    moishy משתמש מקצוען

    הצטרף:
    ‏26/12/11
    הודעות:
    1,464
    תודות :
    147
    נקודות:
    74
    עיסוק:
    יועץ נישואין, מדריך חתנים
    מיקום:
    רכסים
    הדגל אמור להיות משתנה גלובלי, כך שגם אם הפונקציה מסיימת את עבודתה הדגל לא מתאפס.
     
    yits אוהב/ת את זה.
  6. yits

    yits משתמש פעיל

    הצטרף:
    ‏30/1/13
    הודעות:
    168
    תודות :
    77
    נקודות:
    29
    ומה יקרה כשאני ירצה לשנות משבצת אחרת,
    זה עדיין ישאר על TRUE ומי יחזיר אותו כדי להמשיך הלאה?
     
  7. moishy

    moishy משתמש מקצוען

    הצטרף:
    ‏26/12/11
    הודעות:
    1,464
    תודות :
    147
    נקודות:
    74
    עיסוק:
    יועץ נישואין, מדריך חתנים
    מיקום:
    רכסים
    בנקל תוכל ללכוד את התא הנוכחי בתחילת הרצת הפונקציה למשתנה גולבלי, ובתחילת הרצת הפונקציה לבדוק אם הבחירה שווה לשמור במשתנה.
     
  8. yits

    yits משתמש פעיל

    הצטרף:
    ‏30/1/13
    הודעות:
    168
    תודות :
    77
    נקודות:
    29
    ואם אני רוצה לשנות אותו שוב כי היה לי טעות,
    אז נצא מהתא ונחזור אליו?
     
  9. moishy

    moishy משתמש מקצוען

    הצטרף:
    ‏26/12/11
    הודעות:
    1,464
    תודות :
    147
    נקודות:
    74
    עיסוק:
    יועץ נישואין, מדריך חתנים
    מיקום:
    רכסים
    לא כ"כ הבנתי מה הנדון. בכל מקרה אין בעיה לשנות משתנה גלובלי מתי שתרצה.
    אני כנראה מפספס כאן משהו.
     
  10. עמיק

    עמיק משתמש חדש

    הצטרף:
    ‏13/2/17
    הודעות:
    4
    תודות :
    2
    נקודות:
    4
    אני לא בטוח שהבנתי בדיוק את הבעיה אם היית מעלה גליון דוגמה אולי היה מובן יותר
    אבל... תנסה את הקוד הזה הוא מרענן רק כמשנים בטווח מסויים (בדוגמה - "a1:a10")
    Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then

    MsgBox "Hello"

    End If

    End Sub