Computers

Excel VBA - Handbuch zum Erstellen eines Anmeldeformulars

Autor: Laura McKinney
Erstelldatum: 9 April 2021
Aktualisierungsdatum: 19 November 2024
Anonim
EXCEL VBA Grundlagenkurs - Lerne EXCEL VBA einfach & schnell / Tutorial deutsch - Einführung
Video: EXCEL VBA Grundlagenkurs - Lerne EXCEL VBA einfach & schnell / Tutorial deutsch - Einführung

Inhalt

Ich benutze VBA / VB.Net, um bessere Wege zu finden, um alltägliche Aufgaben zu erledigen

VBA-Anmeldebereich erklärt

Viele Menschen verwenden täglich Excel und teilen ihre Arbeitsmappen mit anderen Benutzern. Einer der frustrierenden Aspekte beim Teilen ist, dass andere Personen Ihre Daten ändern, bearbeiten oder löschen können. Durch Erstellen eines Anmeldebereichs können Sie steuern, welche Blätter für alle nicht angemeldeten Personen angezeigt werden können. Dies ist in vielen Anwendungen nützlich, z. B. in Verwaltungssystemen, in denen anstelle mehrerer Arbeitsmappen Informationen (z. B. Budgets) ferngehalten werden Von weniger hochrangigen Mitarbeitern sperren Sie es einfach hinter einer Anmeldeoption.

Excel hat seine Grenzen und ein erfahrener Benutzer von VBA- und Microsoft-Systemen kann diese Anmeldung möglicherweise umgehen. Für den durchschnittlichen Benutzer ist dies jedoch mehr als ausreichend.


Mit VBA (Visual Basic für Applikationen) können Benutzer von Microsoft-Anwendungen benutzerdefinierten Code erstellen und ihn zum Ausführen von Aktionen verwenden, die ansonsten nicht enthalten sind. Also lasst uns anfangen.

Schritt 1 - Zugriff auf VBA und Erstellen eines Formulars

Auf VBA kann auf zwei Arten zugegriffen werden:

  1. Drücken Sie einfach ALT + F11.
  2. Gehen Sie zu den Optionen und wählen Sie "Registerkarte" Entwickler anzeigen "". Klicken Sie dann auf Visual Basic (ab 2007).

Wenn der Editor geöffnet wird, wird ein graues Fenster mit einem Projektmanager auf der linken Seite angezeigt.

Projektmanager - Hier wechseln Sie zwischen Ihren Arbeitsmappenblättern, Formularen und Modulen, um Code anzuzeigen und zu bearbeiten.

Klicken Sie zunächst mit der rechten Maustaste auf "VBAProject (Buch1)"(oder wie auch immer Ihre Arbeitsmappe heißt) und wählen Sie"Einfügen" und dann "Benutzerformular’.

Sie erhalten ein leeres Formular. Wenn sich die Toolbox nicht automatisch öffnet, klicken Sie auf das Symbol in der Symbolleiste, das einen Schraubenschlüssel und einen Hammer darstellt. Diese Toolbox enthält alles, was Sie zum Erstellen des Anmeldebildschirms benötigen.


Schritt 2 - Hinzufügen von Elementen zum Formular

Nachdem Sie Ihr neu erstelltes Formular erstellt haben, müssen Sie es so einrichten, dass es wie ein Anmeldeformular aussieht. Folgen Sie den unteren Schritten.

  1. In dem Eigenschaften Fenster (unten links) sehen Sie "Name"Feld, ändern Sie dies in" Login ".
  2. Beachten Sie, dass der UserForm-Titel immer noch "Userform1" lautet. Sie müssen auch die "Bildbeschriftung"Feld zu so etwas wie" Bitte anmelden ".
  3. Wählen Sie in der Toolbox die Schaltfläche "A" und platzieren Sie eine Beschriftung in der oberen linken Ecke der UserForm. Sie müssen das Etikett bearbeiten, um "Benutzername" zu lesen. Sie können dies tun, indem Sie entweder einmal klicken, 2 Sekunden warten und dann erneut klicken (durch Doppelklicken gelangen Sie zum Codebildschirm für dieses Etikett) oder das bearbeiten Bildbeschriftung im Eigenschaftenfenster.
  4. Passen Sie die Größe der Beschriftung an den Text an, da sie sonst andere Elemente überlappen kann.
  5. Wählen Sie aus der Toolbox "AB |" Klicken Sie auf die Schaltfläche und platzieren Sie ein Textfeld unter der Bezeichnung "Benutzername".
  6. Bearbeiten Sie bei ausgewähltem neuen Textfeld die Option "Name"Feld zu" Benutzername ". Dieser Name wird verwendet, um auf das Textfeld in dem Code zu verweisen, den wir später schreiben werden.
  7. Wiederholen Sie die Schritte 2 bis 6 für das Feld "Passwort" und die Bezeichnung, um sicherzustellen, dass das Textfeld den Namen "Passwort" trägt.
  8. Suchen Sie bei ausgewähltem Textfeld "Passwort" die Option "PasswordChar"Eigenschaft aus dem Eigenschaftenfenster. Fügen Sie ein" * "in dieses Feld ein. Dies bedeutet, dass die eingegebenen Zeichen wie ein Standardkennwortfeld ausgeblendet sind.
  9. Klicken Sie in der Toolbox auf Befehlsschaltfläche Symbol (sieht aus wie ein graues Rechteck) und zeichnen Sie eine Schaltfläche unter dem Passwortfeld. Ändern Sie den Namen der Befehlsschaltfläche von "CommandButton1" in "LoginButton" und die Beschriftung in "Login".
  10. Sie können jetzt die Größe des gesamten Benutzerformulars an die darauf platzierten Elemente anpassen, wie im Beispiel.

Das war's, das Formular wird erstellt. Jetzt müssen wir den Code dahinter hinzufügen, um zu sagen, was mit den darauf eingegebenen Informationen zu tun ist.


Schritt 3 - Hinzufügen von VBA-Code

Dies ist das Bit, das die meisten Leute nicht verstehen. Anstatt Ihnen einfach zu sagen, dass Sie etwas kopieren und einfügen sollen, ist es viel besser, wenn Sie die folgenden Schritte ausführen und verstehen, wie der Codeprozess funktioniert.

In diesem Handbuch richten wir den Benutzernamen auf "Admin" und das Passwort auf "1234" ein.

1. Doppelklicken Sie im Editorfenster auf die zuvor erstellte Anmeldeschaltfläche. Die Ansicht ändert sich in "Codeansicht" und zeigt Folgendes an:

Private Sub LoginButton_Click () End Sub

Ihr gesamter Code für die Schaltfläche muss zwischen diesen Zeilen geschrieben werden.

2. Wir müssen Excel mitteilen, wie überprüft werden soll, ob der Benutzername mit "Admin" übereinstimmt. Dazu müssen wir schreiben:

Wenn Me.Username.Value = "Admin" Dann

Diese Zeile weist Excel an, zu überprüfen, ob der Wert im Textfeld "Benutzername" gleich "Admin" ist.

Schreiben Sie darunter:

Wenn Me.Password.Value = "1234" Dann

Diese Zeile weist Excel an, zu überprüfen, ob der Wert im Textfeld "Kennwort" gleich "1234" ist.

Die beiden Zeilen zusammen prüfen, ob alle Anmeldeinformationen korrekt sind. Jetzt müssen wir VBA mitteilen, was zu tun ist, wenn dies der Fall ist. Sie sollten darunter schreiben:

LoginFlag = True

Dadurch wird ein Anmeldeflag gesetzt, mit dem wir beim Öffnen von Blättern vergleichen können. Es ist jedoch noch nicht eingerichtet. Wir werden das gleich behandeln. Jetzt müssen wir Excel anweisen, nicht mehr nach den Werten zu suchen und was zu tun ist, wenn sie nicht die richtigen Werte sind. Schreiben Sie unterhalb der LoginFlag-Zeile:

Unload Me Exit Sub End If End If MsgBox "Entschuldigung, falsche Anmeldedaten"

Die Anweisung "Unload Me" stellt sicher, dass das Formular bei erfolgreicher Anmeldung geschlossen wird. Die Zeile "Exit Sub" beendet den Rest des Codes, wenn der LoginFlag auf true gesetzt ist. Die beiden "End If" -Anweisungen weisen Excel an, die Überprüfung der zuvor festgelegten relevanten IF-Anweisungen zu beenden. Die Anweisung "MsgBox" lädt ein Popup-Fenster, wenn die Anmeldung nicht erfolgreich ist.

Insgesamt sollte Ihr Code so aussehen.

Private Sub LoginButton_Click () If Me.Username.Value = "Admin" Then If Me.Password.Value = "1234" Then LoginFlag = True Unload Me Exit Sub End If End If MsgBox "Entschuldigung, falsche Anmeldedaten"

Was ist also mit dem LoginFlag? Wir müssen dies so einrichten, dass es sich immer an den letzten Zustand erinnert. VBA setzt alle Variablen sofort zurück, wenn der Code beendet wird. Daher müssen wir ihn anweisen, sich zu erinnern.

Klicken Sie mit der rechten Maustaste in das Projektfenster und wählen Sie "Einfügen" und dann "Modul" (kein Klassenmodul!) Und kopieren Sie Folgendes hinein.

Global LoginFlag As Boolean

Das "Global" weist Excel an, sich die Variable auch nach Abschluss der Ausführung des Codes zu merken und dem gesamten Programm den Zugriff auf den gespeicherten Wert zu ermöglichen. Das "Boolean" teilt Excel lediglich mit, dass diese Variable entweder "True" oder "False" ist.

Jetzt müssen wir nur noch die Blätter schützen, die wir schützen möchten, um zu überprüfen, ob die "LoginFlag" wahr ist, und um das Flag beim Öffnen der Arbeitsmappe zurückzusetzen.

Schritt 4 - Schutz der Blätter und Zurücksetzen der Anmeldung

Erstellen Sie zunächst ein neues Blatt, wenn Sie noch nicht mehr als ein Blatt haben.

Öffnen Sie den VBA-Editor erneut (drücken Sie ALT + F11). Öffnen Sie im Projektfenster den Code für Blatt 2 und schreiben Sie:

Private Sub Worksheet_Activate () Wenn LoginFlag = False, dann Arbeitsblätter (1) .Activate Login.Show End If End Sub

Dieser Code prüft, ob LoginFlag False ist. Wenn dies der Fall ist, wird das erste Blatt in der Arbeitsmappe geöffnet und das Anmeldeformular für den Benutzer zum Anmelden geöffnet. Beachten Sie, dass Sie diesen Code auf Blatt 1 nicht verwenden können!

Sie können diesen Code auf jedes Blatt kopieren, das Sie im VBA-Editor schützen möchten.

Alles, was übrig bleibt, ist das Zurücksetzen des LoginFlag beim Öffnen der Arbeitsmappe (sodass es an Flase zurückgegeben wird, wenn es mit dem LoginFlag auf True gespeichert wird). Öffnen Sie im Projektfenster das Element "ThisWorkbook" und schreiben Sie:

Private Sub Workbook_Open () LoginFlag = False End Sub

Das war's, Sie haben jetzt ein voll funktionsfähiges Anmeldesystem, um Ihre Blätter vor dem Anzeigen und Bearbeiten zu schützen. Menschen können jedoch weiterhin auf andere Weise löschen, umbenennen und manipulieren! Achten Sie in Zukunft auf Anleitungen, um dies zu verhindern.

Wie haben Sie das gefunden?

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Fragen & Antworten

Frage: Kann der Erstellungsprozess der Excel-VBA-Anmeldung so geändert werden, dass mehrere Benutzer ihre eigene Anmeldung haben?

Antworten: Ja, Sie können beispielsweise den Windows-Anmeldenamen des Benutzers abrufen und eine IF-Anweisung ausführen, um zu überprüfen, ob es sich um einen bestimmten Benutzer handelt, und dann dieses Anmeldekennwort erwarten

Frage: Wie würde ich vorgehen, um das Windows-Benutzer-Login zu erhalten?

Antworten: Application.UserName gibt den Benutzernamen der aktuell angemeldeten Person zurück.

Dim Var

Var = Application.UserName

Das Obige würde dazu führen, dass "Var" den Benutzernamen des aktuell angemeldeten Windows-Benutzers enthält

Sowjetisch

Aktuelle Artikel

Formen in Excel 2007 und 2010 umbenennen, neu anordnen und gruppieren
Computers

Formen in Excel 2007 und 2010 umbenennen, neu anordnen und gruppieren

Robbie chreibt haupt ächlich über kyrim, beleuchtet aber gelegentlich auch die Kurio itäten von Micro oft-Anwendungen wie Excel und Outlook.Formen können Ihren Arbeit blättern...
Informationsüberflutung: Erschöpfen Sie Ihre Leser?
Internet

Informationsüberflutung: Erschöpfen Sie Ihre Leser?

Heidi Thorne i t eine elb tveröffentlichende Verfechterin und Autorin von achbüchern, eBook und Hörbüchern. ie i t eine ehemalige Fachzeit chriftenredakteurin.Blogger und Content-V...