-
@y0527643446 יש במקור שהביא @רמי-פרי לעיל אופציה נוספת של פונקצית VBA לבדיקה של תקינות מספר ת"ז. זה יותר נוח מפונקציה ארוכה ומתוסבכת.
החיסרון הוא שצריך להפעיל מאקרו בחוברת כדי להשתמש בה או אפילו לשמור אותה בחוברת. -
נכון אתה צודק .
הפעלת מאקרו היא לא ישימה עבורי
מכיוון שזה קובץ שמייצאים ללקוחות ואני לא יכולה
לומר להם ללחוץ לאפשר את המאקרו בכל פעם שיורידו כזה קובץ.
וחוץ מזה שהקובץ נקרא ב-C# ע"י OpenXML
שלא נראה לי תומך באקסל עם מקרואים(זה כבר סיומת אחרת)
בכל אופן תודה על הכיוונים.. -
@y0527643446 כתב בבדיקת תקינות של תעודת זהות באקסל:
וחוץ מזה שהקובץ נקרא ב-C# ע"י OpenXML
שלא נראה לי תומך באקסל עם מקרואים(זה כבר סיומת אחרת)תומך.
-
@y0527643446 כתב בבדיקת תקינות של תעודת זהות באקסל:
אולי מישהו כן הצליח להתשמש בנוסחה הזאת לקבצים ב- Data Validation?
אפשר פשוט להכניס את הנוסחה לאיזה תא, ואז לעשות ולידציה שהתא ההוא שווה ל-TRUE
-
-
@y0527643446 כתב בבדיקת תקינות של תעודת זהות באקסל:
אני רוצה את הולידציה על עמודה שלמה
של הזנת תעודת זהות ושלא תופיע תשובה אלא פשוט תקפוץ הודעת שגיאה
כמו ב-Data Validationלא הבנתי למה הפתרון שלי לא עוזר לעמודה שלימה, אם רוצים שלא תופיע התשובה תשתמשו בעמודה מוסתרת עבור הנוסחה
@y0527643446 כתב בבדיקת תקינות של תעודת זהות באקסל:
אבל זה מוזר כי ב-Data Validation אפשר לשים נוסחאות כמו במאקרו
נוסחת אקסל זה לא קוד. אי אפשר להכניס לולידציה קוד VBA, אאל״ט
-
@y0527643446 אפשר להתמודד עם המגבלה הזו, בתנאי שתדאגו מראש לקיים את התנאים הבאים:
- הנתונים יוצגו כמחרוזת
- הנתונים ירופדו עם אפסים מובילים כדי להשלים ל-9 תוים (כלומר כל מספר ת.ז. יכיל בדיוק 9 ספרות)
ואז אפשר לקצר את הנוסחא משמעותית ולרשום כך:
=MOD(MID(A1,1,1)+MID("0246813579",MID(A1,2,1)+1,1)+MID(A1,3,1)+MID("0246813579",MID(A1,4,1)+1,1)+MID(A1,5,1)+MID("0246813579",MID(A1,6,1)+1,1)+MID(A1,7,1)+MID("0246813579",MID(A1,8,1)+1,1)+MID(A1,9,1),10)=0
- הערה: הנוסחא לעיל היא להגדרה של אימות נתונים על תא
A1
, אח"כ ניתן לגרור לתאים אחרים.
מצ"ב צילום מסך לדוגמא:
קובץ להורדה: בדיקת תקינות תעודת זהות.xlsx
-
@OdedDvir
תודה על התשובה המפורטת והברורה.
השדה שלי באמת מסוג טקסט
אבל בגלל שמשתמש מכניס את הת"ז
אני לא יכולה להגביל אותו להכניס כולל 0
בהתחלה ..
ז"א שאני לא אוכל לקצר את הנוסחה? -
טוב חבר'ה, בזכות האתגר הזה התחדש לי חידוש נהדר באקסל:
אפשר להגדיר משתנים בתוך נוסחא, על ידיLET
, ולקצר עוד יותר את הנוסחא, כך שיהיה מקום לרפד באפסים.
הנוסחא דלהלן תעבוד על ידי אימות נתונים גם עם תאי מספר רגילים:=LET(N,REPT(0,9-LEN(A1))&A1,LET(P,"0246813579",MOD(MID(N,1,1)+MID(P,MID(N,2,1)+1,1)+MID(N,3,1)+MID(P,MID(N,4,1)+1,1)+MID(N,5,1)+MID(P,MID(N,6,1)+1,1)+MID(N,7,1)+MID(P,MID(N,8,1)+1,1)+MID(N,9,1),10)=0))
מצורף קובץ משופר: בדיקת תקינות תעודת זהות.xlsx
-
@y0527643446 @אף-אחד-3 התנאי מוגדר באימות נתונים.
כדי להציג אותו, יש לבחור את התאA1
ומהתפריט "אימות נתונים":
הנוסחא תופיע בחלון שיפתח:
-
@y0527643446 יתכן וגירסת האקסל שלכם אינה תומכת ב-
LET
.
דרישת המינימום היא גירסת אקסל 365 או 2021.