Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

wert einer msgbox auslesen/kopieren

Forumthread: wert einer msgbox auslesen/kopieren

wert einer msgbox auslesen/kopieren
19.11.2018 10:48:31
Michael
hallo Leute
Meine Kenntnisse in VBA sind begrenzt, das was ich weiß habe ich meist durch Versuche herausgefunden so auch folgendes Macro aus diesem Forum.
Ich kann eine inbox aufrufen, dort z.B. einen Namen eintragen und ok "drücke" so dass mir dann eine msgbox dem Namen anzeigt. Das ist ja ganz lustig, aber....
Kann ich der msgbox oder schon der inbox auch sagen, sie möge den Name in eine beliebige Zelle z.B. "A1" schreiben.
Sub Aufruf()
Dim sTxt As String
sTxt = InputBox("Eingabe:")
If sTxt = "" Then Exit Sub
MsgBox sTxt
End Sub

Gruß Michael
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wert einer msgbox auslesen/kopieren
19.11.2018 10:51:05
Werner
Hallo Michael,
Worksheets("Tabelle1").Range("A1") = InputBox("Eingabe:")
Gruß Werner
AW: wert einer msgbox auslesen/kopieren
23.11.2018 15:00:23
Michael
Hallo Werner
sorry habe völlig vergessen mich zu bedanken, hat super funktionier
Gruß Michael
Gerne u. Danke für die Rückmeldung. o.w.T.
23.11.2018 15:01:10
Werner
Anzeige
Anzeige

Infobox / Tutorial

Wert einer MsgBox auslesen und in eine Zelle schreiben


Schritt-für-Schritt-Anleitung

Um den Wert einer MsgBox auszulesen und in eine Excel-Zelle zu schreiben, kannst Du das folgende VBA-Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub Aufruf()
       Dim sTxt As String
       sTxt = InputBox("Eingabe:")
       If sTxt = "" Then Exit Sub
       Worksheets("Tabelle1").Range("A1").Value = sTxt
       MsgBox sTxt
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle Aufruf aus und klicke auf Ausführen.

Jetzt kannst Du einen Namen in die Eingabemaske eintragen, und dieser wird sowohl in der MsgBox angezeigt als auch in die Zelle A1 von Tabelle1 geschrieben.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 9: Index außerhalb des zulässigen Bereichs“
    Lösung: Stelle sicher, dass der Tabellenname (Tabelle1) korrekt ist. Überprüfe, ob die Tabelle tatsächlich diesen Namen trägt.

  • Fehler: MsgBox zeigt keinen Wert an
    Lösung: Überprüfe, ob Du das MsgBox-Kommando nach dem Zuweisen des Wertes zur Zelle richtig platziert hast.


Alternative Methoden

Eine weitere Möglichkeit, um Werte aus einer MsgBox zu nutzen, ist die Verwendung von Formularen. Du kannst ein UserForm erstellen, das mehr Eingabefelder bietet und die Eingaben direkt in bestimmte Zellen schreibt. Das ist besonders nützlich, wenn Du mehrere Werte gleichzeitig erfassen möchtest.


Praktische Beispiele

  1. Einfacher Nameingabe:
    Verwende das oben gegebene Beispiel, um einen Namen in Zelle A1 zu speichern.

  2. Mehrere Eingaben:
    Um mehrere Werte in verschiedene Zellen zu schreiben, kannst Du das folgende Beispiel verwenden:

    Sub MehrereEingaben()
       Dim name As String
       Dim alter As String
       name = InputBox("Gib deinen Namen ein:")
       alter = InputBox("Gib dein Alter ein:")
       Worksheets("Tabelle1").Range("A1").Value = name
       Worksheets("Tabelle1").Range("B1").Value = alter
       MsgBox "Name: " & name & ", Alter: " & alter
    End Sub

Tipps für Profis

  • Nutze Trim()-Funktion, um unerwünschte Leerzeichen aus den Eingaben zu entfernen:

    sTxt = Trim(InputBox("Eingabe:"))
  • Verwende Application.InputBox, um sicherzustellen, dass der Benutzer nur die gewünschten Datentypen eingeben kann.


FAQ: Häufige Fragen

1. Kann ich die MsgBox anpassen?
Ja, Du kannst die MsgBox anpassen, indem Du verschiedene Parameter wie Titel, Schaltflächen und Symbole hinzufügst. Beispiel:

MsgBox sTxt, vbInformation, "Information"

2. Wie speichere ich das VBA-Makro?
Um das Makro zu speichern, gehe zu Datei > Speichern unter und wähle das Dateiformat „Excel-Arbeitsmappe mit Makros“ (*.xlsm).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige