בקשה | מי יכול לכתוב לי מאקרו?
-
@חד-בדרא כתב בבקשה | מי יכול לכתוב לי מאקרו?:
יש לי שתי גליונות אקסל באותה חוברת עבודה, ואני צריך לעשות שרק מי שממלא שלוש תאים בגיליון הראשון נפתח לו הגיליון השני, ובלי זה אין שום אפשרות להגיע לגיליון השני (דהיינו שאני אעשה הסתרה בלשוניות למטה).
יש אפשרות לעשות את זה?Sub פתיחת_גיליון_שני() If Range("A1").Value <> "" And Range("B1").Value <> "" And Range("C1").Value <> "" Then Sheets("גיליון2").Visible = True Else MsgBox "יש למלא את כל התאים כדי לפתוח את הגיליון השני" End If End Sub
-
@חד-בדרא כתב בבקשה | מי יכול לכתוב לי מאקרו?:
@מטעמים סליחה על הבורות, אבל איך אני מוסיף את זה?
עמוד על הגיליון הפעיל, (לא המוסתר).
פתח את עורך המאקרו (Alt+F11).
בכרטיסיה "INSERT", בחר "MODULE".הדבק את הקוד בתוך המודול,
ולחץ על "פליי" (הכפתור הירוק או F5) -
@shishko כתב בבקשה | מי יכול לכתוב לי מאקרו?:
@מטעמים יצטרכו להפעיל את המאקרו ואם התאים יהיו מלאים יפתח הגליון השני @חד-בדרא לכאו' רצה שיפתח אוטומטי
מצרוף מקרו שקורה אוטומטית. זה בנוי על של @מטעמים, כמובן שצריך לשמור את הקובץ כ XLSM. ושם לא צריך ליצור Module אלא בוחרים את הגיליון, לחיצה ימנית, ואז view code, ושם מדביקים.
(שיניתי את ההודעה לאנגלית כי אצלי העברית עושה בעיות בתצוגה.)Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("A1:C1") If Not Application.Intersect(KeyCells, Target) Is Nothing Then If Range("A1").Value <> "" And Range("B1").Value <> "" And Range("C1").Value <> "" Then Sheets("Sheet2").Visible = True MsgBox "Sheet2 Is Now Visible." End If End If End Sub
-
הנה קוד מקוצר, במקום לבדוק תא תא אנחנו מחפשים/סופרים 3 תאים המכילים ערכים בטווח.
עוד משהו חמוד שעכשיו זה חוזר להיות מוסתר עם מוחקים משהו מהתאים.Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:C1")) Is Nothing Then Sheets("Sheet2").Visible = Application.WorksheetFunction.CountA(Range("A1:C1")) = 3 If Sheets("Sheet2").Visible Then MsgBox "Sheet2 Is Now Visible." End If End Sub
-