פורום שאלות ותשובות

ברוכים הבאים לפורום שאלות ותשובות באופיס

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

א' שואל:

שלום.

איך מגדירים באקסל נוסחה כמו Today אבל שהתאריך לא ישתנה מחר.

זאת אומרת - אם מוגדר תנאי שאם כתוב "1" אז יחושב התאריך של היום (Today) אבל לאחר מכן התאריך ישאר אותו דבר ולא יתעדכן אוטומטית כמו בToday?

תודה רבה

תשובה:

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

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

מצ"ב הצעה לפתרון על ידי שימוש בקוד VBA -

1. בגיליון אקסל בתא A2 נגדיר את הטקסט "Flag" ובתא B2 נגדיר את הטקסט "Date".

 

2. נפתח את עורך VBA של אקסל על ידי לחיצה על Alt+F11, נסמן את שם הגיליון Sheet1, נלחץ על לחצן ימני בעכבר ונבחר View Code.

 

3. נעתיק ונדביק את הקוד הבא לאקסל -

 

Private Sub Worksheet_Change(ByVal Target As Range)
   Application.EnableEvents = False
   With ActiveSheet
     If (.Range("A3") = 1 And .Range("B3") = 0) Then
        .Range("B3") = Date
     End If
   End With
   Application.EnableEvents = True
End Sub

4. התוצאה - בהזנת הערך "1" בתא A4 יחושב התאריך הנוכחי בתא B4 ולאחר מכן הוא לא ישתנה (אלא אם כן יעודכן הערך בתא A4).

5. על מנת שהקוד יישמר יש לשמור את קובץ האקסל בפורמט XLSM באופן הבא -

 בברכה,

צוות AnyFit