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

MsgBox mit Eingabefeld

Forumthread: MsgBox mit Eingabefeld

MsgBox mit Eingabefeld
17.12.2002 11:24:18
Enrico
hallo leute mal ne kurze frage,

kann ich eine msgbox (oder etwas ähnliches) anzeigen lassen in der sich ein "eingabefeld" befindet welches sich zum beispiel auf die Zelle A12 bezieht.also wenn ich in das eingabefeld in der msgbox was eintrage soll es in A12 reingeschrieben werden.

ist das überhaupt möglich???

thx Enrico

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: MsgBox mit Eingabefeld
17.12.2002 11:30:28
Jessica
Hallo Enrico!
Verwende eine InputBox. Syntax:
Rückgabewert= InputBox("Eingabeaufforderung", "Titel", Vorgabe)
Vorgabe kann auch entfallen
Beispiel:
Wert= InputBox("Bitte geben Sie ihren Wert ein!", _
"Wertübertragung")
If Wert <> "" Then
Sheets("Tabelle1").Range("A12").Value=Wert
End If


Anzeige
Re: MsgBox mit Eingabefeld
17.12.2002 11:31:36
L.Vira
Schau dir mal inputbox an, noch besser: Application.Inputbox
Re: MsgBox mit Eingabefeld
17.12.2002 11:33:20
Helmut
Ist möglich,

bau Dir Dein Eingabefeld z. B. in einer Variablen zusammen und
übergebe diese Variable an den entsprechenden Parameter der msgbox.
MsgBox(prompt[, buttons] [, title] [, helpfile, context])

z. B. an den Parameter prompt oder title

Anzeige
Dank euch! nochmal kurz...
17.12.2002 11:56:38
Enrico
Also das klapp ja gut. kann ich auch die Große der Box bzw des eingabe feldes angeben??

thx enrico

Re: Dank euch! nochmal kurz...
17.12.2002 13:08:54
L.Vira
Nein, das macht VBA automatisch, du kannst aber die Größe durch Zeilenumbrüche Chr(10) und Leerzeichen Space(22) (22 ist die Anzahl der Leerzeichen)künstlich aufblähen, ist aber recht ungenau.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

MsgBox mit Eingabefeld in Excel VBA nutzen


Schritt-für-Schritt-Anleitung

Um eine MsgBox mit einem Eingabefeld in Excel VBA zu erstellen, kannst du die InputBox-Funktion verwenden. Hier sind die Schritte, die du befolgen kannst:

  1. Öffne deine Excel-Datei und gehe zu den Entwicklertools.

  2. Klicke auf "Visual Basic", um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Modul einfügen" wählst.

  4. Schreibe den folgenden Code in das Modul:

    Sub EingabeInZelle()
       Dim Wert As String
       Wert = InputBox("Bitte geben Sie Ihren Wert ein:", "Wertübertragung")
       If Wert <> "" Then
           Sheets("Tabelle1").Range("A12").Value = Wert
       End If
    End Sub
  5. Schließe den VBA-Editor und führe das Makro EingabeInZelle aus.

Mit diesen Schritten wird ein Eingabefeld angezeigt, in das du einen Wert eingeben kannst, der dann in die Zelle A12 geschrieben wird.


Häufige Fehler und Lösungen

  • Fehler: Das Eingabefeld erscheint nicht.

    • Lösung: Stelle sicher, dass du das Makro ausführst. Überprüfe auch, ob die Entwicklertools aktiviert sind.
  • Fehler: Der eingegebene Wert wird nicht in Zelle A12 geschrieben.

    • Lösung: Überprüfe, ob der Name des Arbeitsblatts ("Tabelle1") korrekt ist. Ändere den Namen im Code, wenn nötig.

Alternative Methoden

Neben der Verwendung der InputBox kannst du auch die Application.InputBox nutzen, die mehr Kontrolle über den Datentyp bietet. Hier ein Beispiel:

Sub EingabeMitTyp()
    Dim Wert As Variant
    Wert = Application.InputBox("Bitte geben Sie Ihren Wert ein:", "Wertübertragung", Type:=2) ' Type:=2 steht für Text
    If Wert <> False Then
        Sheets("Tabelle1").Range("A12").Value = Wert
    End If
End Sub

Diese Methode erlaubt es dir, nur Text einzugeben und bietet eine benutzerfreundlichere Eingabeaufforderung.


Praktische Beispiele

  1. Eingabefeld mit Vorgabewert:

    Sub EingabeMitVorgabe()
       Dim Wert As String
       Wert = InputBox("Bitte geben Sie Ihren Wert ein:", "Wertübertragung", "Vorgabewert")
       If Wert <> "" Then
           Sheets("Tabelle1").Range("A12").Value = Wert
       End If
    End Sub
  2. MsgBox mit Auswahl:

    Sub MsgBoxMitAuswahl()
       Dim Antwort As VbMsgBoxResult
       Antwort = MsgBox("Möchten Sie fortfahren?", vbYesNo + vbQuestion, "Bestätigung")
       If Antwort = vbYes Then
           ' Aktion ausführen
       End If
    End Sub

Tipps für Profis

  • Nutze Chr(10) oder Space(22), um Zeilenumbrüche und Abstände in der MsgBox zu erzeugen, um sie optisch ansprechender zu gestalten. Allerdings ist dies ungenau.
  • Experimentiere mit verschiedenen MsgBox-Buttons, um die Benutzererfahrung zu verbessern. Zum Beispiel: vbOKOnly, vbYesNoCancel.

FAQ: Häufige Fragen

1. Kann ich die Größe des Eingabefeldes anpassen?
Leider kannst du die Größe der InputBox nicht direkt anpassen. Du kannst jedoch die Größe durch Zeilenumbrüche und Leerzeichen künstlich beeinflussen.

2. Was ist der Unterschied zwischen InputBox und Application.InputBox?
InputBox gibt immer einen String zurück, während Application.InputBox auch andere Datentypen wie Zahlen oder Bereiche akzeptieren kann.

3. Ist es möglich, eine MsgBox in Access zu verwenden?
Ja, die Verwendung von MsgBox ist auch in MS Access möglich, aber die Syntax kann leicht variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige