חישוב רבעון לפי מספר שבוע

חישוב רבעון לפי מספר שבוע

שלום
יש לי 2 שאלות:
1. האם ישנה נוסחה המחשבת את מספר הרבעון בהינתן מספר השבוע?
2. איזה קוד אני צריך לרשום (ואיפה למקם) כדי שבפתיחת קובץ אקסל יוצג לי הודעה לקלט של מספר אשר יועבר לתא מסויים?

ברשותי ווינדוס 7 , אקסל 2007

תודה
 

מיכאל אבידן

Member
מנהל
אז ככה . . .


1. חשוב, פעם נוספת, אם שאלה מס' 1 הגיונית כך שתמיד תהיה, לה, תשובה חד-משמעית.

2. במודול 'חוברת העבודה' This_WorkBook הכנס את הקוד הבא (כדי להציב את הערך בתא: D4, למשל).
קוד:
Private Sub Workbook_Open()
      [D4] = InputBox("Type your Number...")
End Sub
 
תשובה שניה מעולה. עובד יופי

לגבי הראשונה לא הבנתי מה התכוונת..
אנסה לנסח שוב ליתר בטחון:
יש לי עמודה שבכל תא יש מספר בין 1-52 המציינים את מספרי השבוע של השנה.
אני צריך לצד כל אחד מהם (בעמודה מקבילה) לרשום את מספר הרבעון (בין 1-4) באופן אטומאטי.
&nbsp
יש נוסחה לכך?
 

מיכאל אבידן

Member
מנהל
עזוב אותך, כרגע, מנוסחאות . . .


לצורך הדיון, הבה נצא מנקודת הנחה שמס' השבוע הוא: 27 (בשנת 2016, כמובן).
&nbsp
מה לדעתך אמור, במקרה כזה, להיות מס' הרבעון

&nbsp
רמז: בשבוע יש 7
ימים...
 
אז ככה

כל השבועות בין ינואר למרץ שייכים לרבעון 1
בין אפריל ליוני רבעון 2
בין יולי אוגוסט רבעון 3
בין ספטמבר לדצמבר רבעון 4
&nbsp
יש אפשרות "לברר" את החודש לפי מספר השבוע ולהחליט בהתאם לגבי הרבעון הנכון?
 

u333

New member
זה לא כל כך פשוט....

למשל, קח את השנה - 2016
שבוע מס. 14 מתחיל ב-27/3 ומסתיים ב-2/4 - לאיזה רבעון הוא שייך ?
שבוע מס. 27 מתחיל ב-26/6 ומסתיים ב-2/7 - לאיזה רבעון הוא שייך ?
שבוע מס. 40 מתחיל ב-25/9 ומסתיים ב-1/10 - לאיזה רבעון הוא שייך ?
 
אגב..

אם אני לא מזין כלום בקלט זה עדיין "תופס" לצערי..
אני רוצה "לחייב" משתמש להזין ערך כלשהו (ועדיף בין 1-52) אחרת לא ניתן ללחוץ OK
&nbsp
כיצד ניתן?
 

מיכאל אבידן

Member
מנהל
תשומת לבך להודעות הנעוצות שבראש דף הפורום . . .


שאחת מהן מתייחסת לאפשרות עריכת ההודעות בפורום זה.

שנה את המקרו ל:
קוד:
Private Sub Workbook_Open()
      [D4] = ""
      MyInput = InputBox("Type your Number...")
      If MyInput = "" Or MyInput < 1 Or MyInput > 52 Then
         MsgBox "Please constrain the numbers between 1-52"
         Exit Sub
      Else
         [D4] = MyInput
      End If
End Sub
 

u333

New member
בוקר טוב, זה מספיק MyInput < 1 Or MyInput > 52

וכדי "לנדנד" למשתמש עד שיכניס את הערך הנכון - מציע את הקוד הבא:
קוד:
Private Sub Workbook_Open()
AA:
     [D4] = InputBox("Type your Number...")
     If [D4] < 1 Or [D4] > 52 Then
        [D4] = ""
        MsgBox "אתה חייב להכניס מספר בין 1 ל-52"
        GoTo AA
     End If
End Sub
 
למעלה