Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1108to1112
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA-Passwort Schutz für Arbeitsblatt
Sascha
Guten Morgen Zusammen,
vielleicht knifflig vielleicht aber auch nicht.
Ich habe eine Arbeitsmappe mit 26 Arbeitsblättern.
Das Arbeitsblatt "Tabelle1000!" arbeitet mit einer Menge Makros sobald es aufgerufen wird.
Bevor dieses Blatt angezeigt wird und die Makros ausgeführt werden hätte ich gerne eine Passwortabfrage, um die Daten sicher zu halten.
Sprich, Passwort Abfrage via Pop Up und "*" verschlüsselung, wenn PW falsch weder Blatt anzeigen noch Makros ausführen, wenn PW richtig blatt anzeigen und normal arbeiten.
Kann mir jemand hierfür einen VBA-Code geben und mir sagen wie ich diesen wo einpflege?
Vielen Dank für eure Unterstützung.
LG
Sascha

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA-Passwort Schutz für Arbeitsblatt
25.10.2009 10:43:21
Matthias
Hallo
mal nur so als erster Gedanke ...
Blende per VBA das Blatt sicher aus (DeinSheet.Visible=xlveryhidden)
Benutze ein UserForm mit einer Textbox
für die Textboxeigenschaft: PasswordChar setzt Du das *
Wenn das Passwort stimmt blende das Blatt ein und aktiviere es.
Gruß Matthias
1000x gefragt. siehe Archiv owT
25.10.2009 10:44:21
Rudi
AW: VBA-Passwort Schutz für Arbeitsblatt
25.10.2009 10:55:55
Tino
Hallo,
z. Bsp. so
kommt als Code in Tabelle1000!
Option Explicit 
 
Private Sub Worksheet_Activate() 
Dim sPass As String 
Const MeinPasswort$ = "xxx" 
SetTimer 0, NV_INPUTBOX, 10, AddressOf TimerProc 
sPass = InputBox("Enter Password") 
 
If sPass = MeinPasswort Then 
    MsgBox "Passwort richtig" 
    '... 
    '... 
    '... 
Else 
    MsgBox "Passwort falsch" 
End If 
 
End Sub 
 
kommt als Code in Modul1
Option Explicit 
 
Private Declare Function FindWindow Lib "user32" Alias _
   "FindWindowA" (ByVal lpClassName As String, _
   ByVal lpWindowName As String) As Long 
 
Private Declare Function FindWindowEx Lib "user32" Alias _
  "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, _
   ByVal lpsz1 As String, ByVal lpsz2 As String) As Long 
    
Public Declare Function SetTimer& Lib "user32" _
  (ByVal hwnd&, ByVal nIDEvent&, ByVal uElapse&, ByVal _
   lpTimerFunc&) 
 
Private Declare Function KillTimer& Lib "user32" _
  (ByVal hwnd&, ByVal nIDEvent&) 
 
Private Declare Function SendMessage Lib "user32" Alias _
    "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, lParam As Any) As Long 
 
Const EM_SETPASSWORDCHAR = &HCC 
Public Const NV_INPUTBOX As Long = &H5000& 
 
Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, _
                     ByVal idEvent&, ByVal dwTime&) 
 
Dim EditHwnd As Long 
 
 
EditHwnd = FindWindowEx(FindWindow("#32770", Application.Name), 0, "Edit", "") 
Call SendMessage(EditHwnd, EM_SETPASSWORDCHAR, Asc("*"), 0) 
KillTimer hwnd, idEvent 
End Sub 
 
 
Gruß Tino
Anzeige
AW: hier eine Beispieldatei...
25.10.2009 12:41:20
Sascha
Hallo Zusammen,
vielen Dank für eure Hilfe und dir Tino vielen dank für die Datei.
Habe es jetzt auf Anhieb nicht mit der Integration geschafft, werds mir aber nachher auf jeden Fall nochmal anschauen. Die Lösung ist zumindest schon mal optimal ;) vielen dank dafür.
LG
Sascha

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige