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

yits

משתמש פעיל
@moishy
יש לי גליון אקסל שהגדרתי תאים לפי מפה מסוימת,
יש לי DB עם רשימת אנשים שנרשמו,

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

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

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

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

moishy

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

yits

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

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

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

moishy

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

yits

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

moishy

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

yits

משתמש פעיל
ואם אני רוצה לשנות אותו שוב כי היה לי טעות,
אז נצא מהתא ונחזור אליו?
 

moishy

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

עמיק

משתמש פעיל
אני לא בטוח שהבנתי בדיוק את הבעיה אם היית מעלה גליון דוגמה אולי היה מובן יותר
אבל... תנסה את הקוד הזה הוא מרענן רק כמשנים בטווח מסויים (בדוגמה - "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
 

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קיט ר'

קנג רְאֵה עָנְיִי וְחַלְּצֵנִי כִּי תוֹרָתְךָ לֹא שָׁכָחְתִּי:קנד רִיבָה רִיבִי וּגְאָלֵנִי לְאִמְרָתְךָ חַיֵּנִי:קנה רָחוֹק מֵרְשָׁעִים יְשׁוּעָה כִּי חֻקֶּיךָ לֹא דָרָשׁוּ:קנו רַחֲמֶיךָ רַבִּים יְהוָה כְּמִשְׁפָּטֶיךָ חַיֵּנִי:קנז רַבִּים רֹדְפַי וְצָרָי מֵעֵדְוֹתֶיךָ לֹא נָטִיתִי:קנח רָאִיתִי בֹגְדִים וָאֶתְקוֹטָטָה אֲשֶׁר אִמְרָתְךָ לֹא שָׁמָרוּ:קנט רְאֵה כִּי פִקּוּדֶיךָ אָהָבְתִּי יְהוָה כְּחַסְדְּךָ חַיֵּנִי:קס רֹאשׁ דְּבָרְךָ אֱמֶת וּלְעוֹלָם כָּל מִשְׁפַּט צִדְקֶךָ:
נקרא  3  פעמים

לוח מודעות

למעלה