In Excel haben wir mehrere Möglichkeiten, Eingaben zu erhalten. Wir können Eingaben mit Funktionsargumenten erhalten, Excel-Zellen und -Bereiche als Eingabebereiche verwenden und dann Werte von dort abrufen. Sie können auch Benutzerformulare verwenden, um Eingaben von Benutzern zu erhalten. Excel bietet jedoch noch eine weitere Möglichkeit, Eingaben von Benutzern zu erhalten. Sie heißen InputBox.
Eine InputBox in VBA ist eine Art vorgefertigtes Benutzerformular. Sie können ein Eingabefeld verwenden, um mehrere Eingabetypen zu erhalten. Eine Eingabe kann jedoch jeweils nur einen Eingabetyp erhalten. Excel hat zwei Arten von Eingabefeldern. Eine ist die einfache InputBox und die andere ist die Application InputBox. Das Eingabefeld hat mehrere Argumente, um mit verschiedenen Arten von Eingaben umzugehen. Einige davon werden wir in diesem Artikel kennenlernen.
Einfache VBA-Eingabebox
Dieses Eingabefeld kann direkt in VBA verwendet werden, da es sich um eine Funktion handelt. Diese Funktion fordert den Benutzer in einem Benutzerformular auf, einen Wert einzugeben. Die Syntax der InputBox-Funktion ist:
InputBox(prompt, [Title], [Default], [Xpos], [YPos], [HelpFile], [Context]) |
prompt: Es ist das einzige erforderliche Argument. Es handelt sich um einen Zeichenfolgenausdruck, der als Meldung im Dialogfeld angezeigt wird. Die maximale Länge der Eingabeaufforderung beträgt ca. 1024 Zeichen, abhängig von der Breite der verwendeten Zeichen. Wenn die Eingabeaufforderung aus mehr als einer Zeile besteht, können Sie die Zeilen mit einem Wagenrücklaufzeichen (Chr(13)), einem Zeilenvorschubzeichen (Chr(10)) oder einer Wagenrücklauf-Zeilenvorschubzeichenkombination ((Chr(13) & (Chr(10)) zwischen jeder Zeile.
[Titel]: Es ist optional. Es handelt sich um einen Zeichenfolgenausdruck, der in der Titelleiste des Dialogfelds angezeigt wird. Wenn Sie den Titel weglassen, wird der Anwendungsname in die Titelleiste eingefügt. Wenn Sie Excel verwenden, wird Microsoft Excel angezeigt.
[Ursprünglich]: Es ist auch optional. Es handelt sich um einen Zeichenfolgenausdruck, der im Textfeld als Standardantwort angezeigt wird, wenn keine andere Eingabe erfolgt. Wenn Sie default weglassen, wird das Textfeld leer angezeigt.
[xpos]: Numerischer Ausdruck, der in Twips den horizontalen Abstand des linken Rands des Dialogfelds vom linken Rand des Bildschirms angibt. Wenn xpos weggelassen wird, wird das Dialogfeld horizontal zentriert.
[ypos]: Numerischer Ausdruck, der in Twips den vertikalen Abstand der oberen Kante des Dialogfelds vom oberen Bildschirmrand angibt. Wenn ypos weggelassen wird, wird das Dialogfeld etwa ein Drittel des Bildschirms nach unten vertikal positioniert.
[Hilfedatei]: Zeichenfolgenausdruck, der die Hilfedatei identifiziert, die verwendet werden soll, um kontextbezogene Hilfe für das Dialogfeld bereitzustellen. Wenn eine Hilfedatei bereitgestellt wird, muss auch der Kontext bereitgestellt werden.
[Kontext]: Numerischer Ausdruck, der die Hilfekontextnummer ist, die dem entsprechenden Hilfethema vom Hilfeautor zugewiesen wurde. Wenn Kontext bereitgestellt wird, muss auch eine Hilfedatei bereitgestellt werden.
Genug der Theorie. Sehen wir uns einige Beispiele an, um zu verstehen, wie diese Eingabefeldfunktion verwendet wird.
Beispiel 1: Erhalten Sie Eingaben, um dem Benutzer Hallo zu sagen
Nehmen wir an, ich möchte, dass mein Sub den Benutzer begrüßt. Also werde ich nach dem Namen des Benutzers fragen und ihn mit "Hello UserName" begrüßen. Dafür verwende ich diesen Code:
Sub InputBoxExample() user_name = InputBox("Bitte geben Sie Ihren Namen ein.") MsgBox ("Hallo" & user_name & "!") End Sub
Wenn Sie den obigen Code in VBA ausführen, wird ein Benutzerformular mit der Überschrift "Bitte
Geben Sie Ihren Namen ein." mit einem Textfeld darunter.
Sie sehen, dass das Fenster "Microsoft Excel" heißt und das Textfeld leer ist. Weil wir diese Argumente nicht verwendet haben, um ihren Wert festzulegen.
Beispiel 2: Legen Sie den Titel des Eingabefelds als Benutzer begrüßen und den Standardwert als Benutzer fest
In diesem Beispiel werden wir den Titel als Begrüßungsbenutzer festlegen, sodass vba den Anwendungsnamen nicht anzeigen kann, und wir werden den Standardwert als Benutzer festlegen, sodass das Textfeld leer angezeigt wird.
Sub InputBoxExample() user_name = InputBox("Bitte geben Sie Ihren Namen ein.", "Greet User", "Uesr") MsgBox ("Hallo" & user_name & "!") End Sub
Wenn Sie den obigen Code ausführen, erhalten Sie diese Ausgabe.
Die anderen Argumente werden nicht oft verwendet. Sie werden im Wesentlichen verwendet, um die Position des Benutzerformulars an den Excel-Rändern festzulegen. Die letzten beiden Argumente werden verwendet, um dem Benutzer Kontextinformationen bereitzustellen.
Also ja, jetzt können Sie die Eingabebox verwenden, um Eingaben von den Benutzern in Excel mit der Eingabebox-Funktion zu erhalten. Ich habe Application.InputBox hier erklärt. Bitte überprüfen Sie dies auch. Es ist leistungsfähiger als diese Inputbox-Funktion.
Ich hoffe, ich war erklärend genug und es war hilfreich für Sie. Wenn Sie Fragen zu diesem Artikel oder zu einem anderen VBA-Thema haben, lassen Sie es mich bitte im Kommentarbereich unten wissen.
Erste Schritte mit Excel VBA UserForms| Ich werde erklären, wie Sie ein Formular in Excel erstellen, wie Sie die VBA-Toolbox verwenden, wie Sie Benutzereingaben verarbeiten und schließlich die Benutzereingaben speichern. Wir werden diese Themen anhand eines Beispiels und einer Schritt-für-Schritt-Anleitung durchgehen.
VBA-Variablen in Excel| VBA steht für Visual Basic für Applikationen. Es ist eine Programmiersprache von Microsoft. Es wird mit Microsoft Office-Anwendungen wie MSExcel, MS-Word und MS-Access verwendet, während VBA-Variablen spezifische Schlüsselwörter sind.
Gültigkeitsbereich von Excel-VBA-Variablen| In allen Programmiersprachen haben wir Variablenzugriffsspezifizierer, die definieren, von wo aus auf eine definierte Variable zugegriffen werden kann. Excel VBA ist keine Ausnahme. Auch VBA hat Bereichsspezifizierer.
ByRef- und ByVal-Argumente | Wenn ein Argument als ByRef-Argument an eine andere Unterfunktion oder Funktion übergeben wird, wird die Referenz der tatsächlichen Variablen gesendet. Alle Änderungen, die an der Kopie der Variablen vorgenommen werden, spiegeln sich im ursprünglichen Argument wider.
Löschen Sie Blätter ohne Bestätigungsaufforderung mit VBA in Microsoft Excel | Da Sie Blätter mit VBA löschen, wissen Sie, was Sie tun. Sie möchten Excel anweisen, diese Warnung nicht anzuzeigen und das verdammte Blatt zu löschen.
Hinzufügen und Speichern einer neuen Arbeitsmappe mit VBA in Microsoft Excel 2016| In diesem Code haben wir zuerst einen Verweis auf ein Arbeitsmappenobjekt erstellt. Und dann haben wir es mit einem neuen Arbeitsmappenobjekt initialisiert. Der Vorteil dieses Ansatzes besteht darin, dass Sie Vorgänge in dieser neuen Arbeitsmappe problemlos ausführen können. Wie Speichern, Schließen, Löschen usw.
Anzeigen einer Nachricht in der Excel VBA-Statusleiste| Die Statusleiste in Excel kann als Codemonitor verwendet werden. Wenn Ihr VBA-Code lang ist und Sie mehrere Aufgaben mit VBA ausführen, deaktivieren Sie häufig die Bildschirmaktualisierung, damit dieser Bildschirm nicht flackert.
Deaktivieren Sie Warnmeldungen mit VBA in Microsoft Excel 2016| Dieser Code deaktiviert nicht nur VBA-Warnungen, sondern erhöht auch die Zeiteffizienz des Codes. Mal sehen wie.
Populäre Artikel:
50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.
Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.
ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um bestimmte Werte zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.
So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.