זיהוי חלקי באקסל

שלום,
אני מבקש ב VBA, לזהות שם של הגיליון הפעיל, ועל פי זה לבצע פקודה באופן הבא :
mysheet = ActiveSheet.Name
If mysheet = "frame" Then
הבעיה היא שבפועל שם הגיליון הוא "frame 12.20" , ובחודש הבא הוא ייקרא "frame 01.21" ולאחריו "frame 02.21" וכן הלאה.
הייתי רוצה שהוא יזהה ששם הגיליון כולל את המילה frame ויבצע את הפקודה לאחר Then , מידי חודש.
תודה
7/2010
 

ziv98

Member
כנראה שהכוונה למתחיל ב - frame ולא מכיל את.
קוד:
left(mysheet,5)="frame"
 
תודה רבה!
המאפיין שחוזר על עצמו בכל הגיליונות הוא התאריך בפורמט 'חודש שנה' (12.20).
השם שבא תמיד לפניו (כמו שהנחת נכון) הוא טקסט משתנה, לאו דווקא 'frame' .
למשל : 'north part 01.21' , 'north part 12.20' וכו'
אז נכון שאפשר להוסיף תנאים בהתאם לשמות הגיליונות..., במקרה זה יהיה תנאי נוסף
left(mysheet,10)="north part"
המשמעות מבחינתי - יהיה צורך לשנות את ה num chars עבור כל סדרת גליונות.
ואני שואל אולי יש דרך להגיד לאקסל : תסתכל על המחרוזת למעט 5 התווים האחרונים, ולא משנה מה אורכה של המחרוזת.
אם יש דרך כזו, אז באמצעות תנאי אחד בלבד, הקוד שלי יתאים לכל האפשרויות (לכל שמות הגיליונות האפשריים).
תודה
 

ziv98

Member
ה - VB עובד במקרה הזה בצורה מאוד דומה לפונקציות גיליון: len, left, right, mid...
קוד:
left(string, len(string)-6)
לדעתי אתה אמור להוריד 6 תווים: 2 חודש + נקודה + 2 שנה + רווח בין השם לחודש...
 
למעלה