Mister Blue Sky
New member
שאלה בנושא Macro באקסל
שלום לכולם,
יש לי קובץ אקסל מוגן בפני עריכה (יש סיסמת הגנה לכל גיליון, סיסמה ל-Workbook וסיסמה ל-VBA).
אני מעוניין להפוך את הקובץ זמין רק ליום אחד (או כל פרק זמן אחר לצורך העניין) וניסיתי ליצור פקודת VBA שמיישמת את הפעולה. משהו בסגנון: "אם התא הזה (כלומר: today() ) שונה מהתאריך שהגדרתי, תמחק את כל הגליונות".
בגלל שהקובץ מוגן בסיסמאות, הוא לא מאפשר את פעילות המחיקה.
הוא בעצם מגדיר שגיאה על sheet.name("sheet1").delete
חיפשתי באינטרנט פונקציות שמאפשרות פתיחת נעילת הסיסמה ומצאתי את זו:
ActiveWorkbook.Unprotect “1234”, True, True
אבל היא לא עובדת.
הקוד שלי נראה בערך ככה:
אני משתמש באקסל 2016, ווינדואוס 7, 64 סיביות.
תודה מראש על העזרה.
שלום לכולם,
יש לי קובץ אקסל מוגן בפני עריכה (יש סיסמת הגנה לכל גיליון, סיסמה ל-Workbook וסיסמה ל-VBA).
אני מעוניין להפוך את הקובץ זמין רק ליום אחד (או כל פרק זמן אחר לצורך העניין) וניסיתי ליצור פקודת VBA שמיישמת את הפעולה. משהו בסגנון: "אם התא הזה (כלומר: today() ) שונה מהתאריך שהגדרתי, תמחק את כל הגליונות".
בגלל שהקובץ מוגן בסיסמאות, הוא לא מאפשר את פעילות המחיקה.
הוא בעצם מגדיר שגיאה על sheet.name("sheet1").delete
חיפשתי באינטרנט פונקציות שמאפשרות פתיחת נעילת הסיסמה ומצאתי את זו:
ActiveWorkbook.Unprotect “1234”, True, True
אבל היא לא עובדת.
הקוד שלי נראה בערך ככה:
Sub Macro1()
If Range("a1") <> "1" Then
ActiveWorkbook.Unprotect “1234”, True, True
Application.DisplayAlerts = False
Sheets("sheet1").Delete
Application.DisplayAlerts = True
ActiveWorkbook.Protect “1234”, True, True
End If
End Sub
If Range("a1") <> "1" Then
ActiveWorkbook.Unprotect “1234”, True, True
Application.DisplayAlerts = False
Sheets("sheet1").Delete
Application.DisplayAlerts = True
ActiveWorkbook.Protect “1234”, True, True
End If
End Sub
אני משתמש באקסל 2016, ווינדואוס 7, 64 סיביות.
תודה מראש על העזרה.