Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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
Inhaltsverzeichnis

Login

Login
15.08.2016 14:42:22
Michael
Hallo
hätte ein Problem habe hier eine tabelle gefunden mit einer Login funktion.Geht auch super aber nur mit 1 Tabelle "Michael".
Würde gerne das beim Login es sind 8 Tabellen mit Namen"Michael,Svenja,Sophia,Luca,Oma,Opa,Tanta,Onkel". Das wenn man einen Namen wählt und sich richtig anmeldet das dann die richtige Tabelle auch aufgeht .
zurzeit ist es so ich suche den Namen Michael und das Passwort und er macht Michael auf.
Nehme ich den Namen Svenja macht es auch Michael auf.
Hoffe ihr könnt mir weiterhelfen.
https://www.herber.de/bbs/user/107631.xlsm
Gruß Michael

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Login
15.08.2016 15:27:42
ChrisL
Hi Michael
So...
Private Sub Image2_Click()
If TextBox1 = Sheets("Daten").Cells(ComboBox1.ListIndex + 1, 2) Then
MsgBox "Anmeldung erfolgreich..."
Sheets(ComboBox1.Value).Visible = xlSheetVisible
MsgBox ComboBox1.Value & " wurde eingeblendet"
Unload UserForm1
Else
MsgBox "Passwort falsch..."
End If
End Sub

(n.b. Sicher ist die Sache nicht)
cu
Chris
AW: Login
15.08.2016 19:22:48
Michael
Hallo Chris
vielen Dank funktioniert super.
Wie kann ich es denn Sicherer machen sollte schon ziehmlich sein?
Gruß Michael
AW: Login
15.08.2016 19:51:08
ChrisL
Hi Michael
Excel (speziell Blatt- und Mappenschutz) werden generell als unsicher angesehen. Insofern müsstest du auf Excel verzichten.
Nebst irgendwelchen Profi-Lösungen ausserhalb von Excel, erreichst du Schutz durch Trennung der Daten d.h. jeder hat seine eigene Datei. Blöder Tipp ich weiss :)
Innerhalb von Excel würde ich die Blätter mit "xlVeryHidden" ausblenden d.h. die Tabellen können nur mittels Makro wieder eingeblendet werden. Darauf achten, dass der User nicht dein "wieder einblenden Makro" findet. Anschliessend ein VBA-Passwort setzen.
Beim Speichern müssen die Personenblätter immer ausgeblendet sein. Sonst kann man die Datei ohne Makro starten und das letzte Blatt ist noch da.
M.E. hast du den Otto-Normalverbraucher damit abgedeckt. Mr. Hobby-Hacker eher nicht. Insofern könntest du dir überlegen, ob anstelle einer Passwort-Eingabe nicht eine Abfrage des Windos-Users Environ("Username") reichen würde.
cu
Chris
Anzeige
AW: Login
15.08.2016 20:32:12
Michael
Danke Chris
Aber da versteh ich nur Bahnhof wie würde das mit einem Makro aussehen hättest du da ein Beispiel für mich.
Gruß Michael
AW: Login
16.08.2016 08:50:11
ChrisL
Hi Michael
xlSheetVeryHidden hast du ja bereits benutzt. Die Passwortliste müsstest du natürlich auch mit Makro und VeryHidden ausblenden.
Das ausblenden der Personenblätter machst du im Before_Close Ereignis. Ist OK aber hat folgende Nachteile:
- Wenn Excel "gewaltsam" geschlossen wird (Absturz oder so), dann läuft das Ereignis u.U. nicht ab
- Der User hat keine Möglichkeit zu schliessen ohne zu speichern
Alternative ist den Vorgang im BeforeSave Ereignis zu lösen. Allerdings müsstest du dann die ganze Speicherroutine nachbauen. Dies hatte ich mal mit folgendem Code gelöst:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sPW As String, sVN As String
sPW = "Passwort"
sVN = ThisWorkbook.Worksheets("Schritt 3").Range("C4")
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
ThisWorkbook.Unprotect sPW
Call SheetsAusblenden
ThisWorkbook.Protect sPW
Cancel = True
If SaveAsUI Then
Application.Dialogs(xlDialogSaveAs).Show ("Blabla " & sVN & "_" & Right(Environ("Username"), _
3) & "_" & Format(Date, "DDMMYY")), xlOpenXMLWorkbookMacroEnabled
Else
ThisWorkbook.Save
End If
Application.EnableEvents = True
ThisWorkbook.Unprotect sPW
Call SheetsEinblenden
ThisWorkbook.Protect sPW
ThisWorkbook.Saved = True
Application.EnableEvents = True
End Sub

Und zum Username dachte ich anstelle eines Userforms zur Passworteingabe an sowas:
Private Sub Workbook_Open()
Select Case Environ("Username")
Case "WindowsUserMichael": Sheets("Michael").Visible = True
Case "WindowsUserSvenja": Sheets("Svenia").Visible = True
Case Else: MsgBox "nix da"
End Select
End Sub

cu
Chris
Anzeige
AW: Login
16.08.2016 09:29:38
Michael
Danke Chris
werde es mal Probieren hob ich es hinbekomme.
Gruß Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige