Makro calisirken sifreyi otomatik tanimlamak..

Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Merhaba arkadaslar,

Tüm calisma sayfalarinin "Activate" kod bölümüne kullanicilarin müdahalesini kisitlamak icin asagidaki kodu ekledim.

Ancak makrolar calisirken ilgili sayfa secilecekse bu kodun calismamasini veya sifreyi otomatik olarak kabul etmesini istiyorum. Bunu nasil yapabiliriz?


Private Sub Worksheet_Activate()

ActiveWindow.WindowState = xlMinimized

sor = InputBox("Şifreyi girin. Şifre:123", "Onay", "***")

If sor = 123 Then
Sheets("Sayfa2").Activate
ActiveWindow.WindowState = xlMaximized
Else
Sheets("Sayfa1").Activate
ActiveWindow.WindowState = xlMaximized
End If

End Sub
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Aşağıdaki gibi deneyebilirsiniz.

Private Sub Worksheet_Activate()

If Sheets("Sayfa1").Activate Then Exit Sub

ActiveWindow.WindowState = xlMinimized

sor = InputBox("Şifreyi girin. Şifre:123", "Onay", "***")

If sor = 123 Then
Sheets("Sayfa2").Activate
ActiveWindow.WindowState = xlMaximized
Else
Sheets("Sayfa1").Activate
ActiveWindow.WindowState = xlMaximized
End If

End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
makro çalışırken diğer makro araya girdiği durumlarda şöyle bir yol uyguluyorum, deneyiniz

Public makro_atla As Integer

sub deneme()
makro_atla = 1
..
..
makro_atla = 0
end sub

Private Sub Worksheet_Activate()
If makro_atla = 0 then
..
..
end sub

normal olarak sayfa aktifleşmişse Worksheet_Activate makrosu çalışır
deneme makrosu çalışırken sayfayı ziyaret ediyorsa Worksheet_Activate makrosu atlanır (çalışmaz)
 
Üst