PDA

צפייה בגרסה מלאה : בג'יפולוג יודעים הכול? עזרה עם תכנות VBA באקסל



lizard
11-02-16, 00:03
אהלן
אני רוצה ליצור גליון באקסל שיש בו כמה שורות ובכל שורה שני תאריכים (בנוסף לשדות אחרים).
הקוד צריך לבדוק אם התאריך הנוכחי נמוך מהתאריך הראשון. אם כן, צובע את השורה בירוק.
אם התאריך הנוכחי נמצא בין התאריך הראשון לשני, יצבע את השורה בצהוב.
אם התאריך הנוכחי גדול מהתאריך השני, יצבע את השורה באדום.

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

איך עושים את זה?
או לפחות קישור למדריך שמאפשר ללמוד את השפה ובעיקר את מה שאני רוצה לעשות.

תודה

אלון_ק
11-02-16, 06:56
קודם כל, ד"ר גוגל.

מקום שני, Stackoverflow וmrexcel.

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

Sent from my SM-G900F using Tapatalk

lizard
11-02-16, 07:22
אוקי תודה אבדוק את האתרים האלה.

boaz avrahami
11-02-16, 07:30
תבדוק את זה

https://exceljet.net/formula/highlight-dates-greater-than

אם אתה בעברית השתמש בעיצוב מותנה

מוטי ג.
11-02-16, 07:58
אני לא חושב שצריך מאקרו בשביל זה, יש דבר כזה שנקרא conditional Data ואפשר להכיל עליו מה ואיך לצבוע כשהתנאי מתקיים או לא.
בגרסת 2013 זה נמצא ב Data בסטריפ העליון

Sent from my SM-G900F using Tapatalk

thebips
11-02-16, 08:24
ההצעה שך בועז + https://www.youtube.com/watch?v=kd4g8t81co0

לדעתי תיצור לך פתרון נוח לשימוש


תבדוק את זה

https://exceljet.net/formula/highlight-dates-greater-than

אם אתה בעברית השתמש בעיצוב מותנה

אלון_ק
11-02-16, 08:27
לא צריך מאקרו, היתרון הוא שכשמקליטים מאקרו מקליטים למעשה קוד VBA שאפשר אח"כ להעתיק, לשנות או מה שרוצים. יופי של דרך לטעמי לגלות איך עושים משהו בVBA ברמת ה syntax.

Sent from my SM-G900F using Tapatalk

lizard
11-02-16, 09:00
תבדוק את זה

https://exceljet.net/formula/highlight-dates-greater-than

אם אתה בעברית השתמש בעיצוב מותנה

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

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

- - - Updated - - -


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

Sent from my SM-G900F using Tapatalk

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

אלון_ק
11-02-16, 09:06
אם אתה לא יודע איך לבצע פעולה, מה הsyntax עבורה, אז מאקרו עוזר.

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

אתה צריך לבנות לולאה, אני הייתי עושה את זה ב while, להגדיר counter לפי דרישתך (או להגדיר תנאי סוף של תא ריק. מה שמתאים לך). אז להשתמש בפקודת offset באופן מעגלי כדי לקפוץ שורות. לגבי צביעת תאים, צבע תא ותראה מה המאקרו הקליט.

יש בגוגל המון פתרונות לאיך לרוץ על שורה. תעשה חיפוש.

Sent from my SM-G900F using Tapatalk

lizard
11-02-16, 09:07
אוקי תודה.

lizard
11-02-16, 12:08
הצלחתי לעשות מה שרציתי.
סאב רוטינה אחת שעוברת על כל המסמך עד לסימן מזהה סוף רשימה ואחת שמשנה את עיצוב התא.

יצא אחלה. תודה על העזרה

barlev
11-02-16, 12:19
conditional formatting יעשה לך את העבודה הכי בקלות. אם אתה עובד בתוך טבלה באקסל זה יפעל אוטומטית על כל שורה שתוסיף לטבלה.

106019