mam problem z visual basic w excel. Mianowicie chce zrobić tak:
1.Otwieram plik excel
2. Możliwość zmian w polach jest zablokowana
3. Klikam przycisk odblokuj
4. Wyświetla się formularz z hasłem
5. Wpisuje haslo
6. Jeśli poprawne to arkusz jest odblokowany, jeśli nie to odpowiedni komunikat
Poniżej przedstawiam kod:
Kod
Sub Przycisk1_Kliknięcie()
'w momencie klikniecia przycisku sprawdzamy haslo
If Not Podaj_haslo Then
'hasło niepoprawne!
Else
'Hasło OK!
MsgBox "Hasło poprawne"
End If
End Sub
Private Function Podaj_haslo() As Boolean
Dim arkusz As Worksheet
'zapis hasła do zmiennej
Const hs = "admin"
'wywolanie formularza
Haslo.Show
If Haslo.hs_user = hs Then
Podaj_haslo = True
Else
MsgBox "Podane hasło jest nieprawidłowe !"
End If
End Function
'w momencie klikniecia przycisku sprawdzamy haslo
If Not Podaj_haslo Then
'hasło niepoprawne!
Else
'Hasło OK!
MsgBox "Hasło poprawne"
End If
End Sub
Private Function Podaj_haslo() As Boolean
Dim arkusz As Worksheet
'zapis hasła do zmiennej
Const hs = "admin"
'wywolanie formularza
Haslo.Show
If Haslo.hs_user = hs Then
Podaj_haslo = True
Else
MsgBox "Podane hasło jest nieprawidłowe !"
End If
End Function
A tu kod z formularza:
Kod
Private Sub ANULUJ_Click()
'Nacisnieto Anuluj, a wiec fiasko...
'ukrywamy formularz
Me.Hide
End Sub
Private Sub OK_Click()
'nacisnięto klawisz OK
If hs_user = "" Then
'sprawdzamy czy pola haslo i uzytownik sa wypełnione
MsgBox ("Podane hasło jest niepoprawne")
'jezeli nie, to kontynuujemy
Exit Sub
End If
'wszystko OK, to konczymy sukcesem
result = True
'ukrywamy formularz
Me.Hide
End Sub
'Nacisnieto Anuluj, a wiec fiasko...
'ukrywamy formularz
Me.Hide
End Sub
Private Sub OK_Click()
'nacisnięto klawisz OK
If hs_user = "" Then
'sprawdzamy czy pola haslo i uzytownik sa wypełnione
MsgBox ("Podane hasło jest niepoprawne")
'jezeli nie, to kontynuujemy
Exit Sub
End If
'wszystko OK, to konczymy sukcesem
result = True
'ukrywamy formularz
Me.Hide
End Sub
Krótko mówiąc nie mogę sobie poradzić z zablokowaniem arkusza i jego odblokowaniem, punkt 2 i 5. Hasło powinno być z góry ustalone, ma to tylko na celu ochronę przed zwykłym użytkownikiem przed zmianami danych, które do niego nie należą

Jeśli ktoś będzie mógł pomóć - będę bardzo wdzięczny
