Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Makro: Inputbox mit Schleife

Betrifft: Makro: Inputbox mit Schleife von: Natascha
Geschrieben am: 25.10.2014 22:13:37

Hallo,

ich habe eine Inputbox erstellt in der 2 Abfragen gemacht werden sollen:
VerkäuferNr
Betrag

Mein bisheriger Versuch:

Public Sub Eintrag()
For i = 1 To 5
Dim strInbox As String
strInbox = InputBox("VerkäuferNR")
Range("b" & Range("b65536").End(xlUp).Row + 1).Value = strInbox
strInbox = InputBox("Betrag")
Range("c" & Range("c65536").End(xlUp).Row + 1).Value = strInbox
Next i
End Sub
Das Makro soll in einer Schleife laufen bis bei "VerkäuferNR" die Eingabe "0" gemacht wird. Dann soll das Makro beendet werden.
Wie kann ich diese Schleife in dem oben angegebenen Makro einbauen?
Weiterhin soll die Eingabe "Betrag" im Format Währung € angegeben werden, damit damit nachher weitergerechnet werden kann.

Vielen Dank für eine Antwort und viele Grüße
Natascha

  

Betrifft: AW: Makro: Inputbox mit Schleife von: Werner
Geschrieben am: 26.10.2014 06:07:43

Hallo Natascha,

ich hab's jetzt mal so gelöst. Wird in deiner InputBox "VerkäuferNR" eine Null oder nichts eingegeben dann wird das Makro beendet.

Public Sub Einfügen()
For i = 1 To 5
Dim strInbox1 As Variant
Dim strInbox2 As Variant
strInbox1 = InputBox("VerkäuferNR")
If strInbox1 = 0 Or strInbox1 = "" Then Exit Sub
Range("b" & Range("b65536").End(xlUp).Row + 1).Value = strInbox1
strInbox2 = InputBox("Betrag")
Range("c" & Range("c65536").End(xlUp).Row + 1).Value = strInbox2
Next i
strInbox1 = Nothing
strInbox2 = Nothing
End Sub
Für die Ausgabe im Währungsformat mußt du nur die Zellen (hier Spalte C) im Währungsformat formatieren.

Gruß Werner


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Natascha
Geschrieben am: 26.10.2014 19:34:30

Hallo Werner,

vielen Dank. Das Makro funktioniert tadellos!

Ich habe die Spalte als Währung formatiert.
Trotzdem wird mir die Zahl nicht als Währung angezeigt.
Erst wenn ich sie mit *1 multipliziere erscheint sie im Währungsformat.
Gibt es dafür eine Möglichkeit im Makro das Format vorzugeben?

Viele Grüße
Natascha


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Werner
Geschrieben am: 26.10.2014 20:29:07

Hallo Natascha,

seltsam, bei mir funktioniert es mit dem Format als Währung. Ansonsten so

Range("c" & Range("c65536").End(xlUp).Row + 1).Value = strInbox2 * 1
Gruß Werner


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Natascha
Geschrieben am: 26.10.2014 20:47:59

Hallo Werner,

jetzt habe ich auch Deinen anderen Beitrag gelesen ;)
und die Änderung eingeben.

Es funktioniert!
Vielen Dank für Deine Hilfe!

Viele Grüße
Natascha


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Werner
Geschrieben am: 26.10.2014 21:11:16

Hallo Natascha,

hatte mich grad schon gewundert und wollte ein paar Fragezeichen schicken.

Gruß Werner


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Natascha
Geschrieben am: 27.10.2014 21:10:24

Hallo Werner,

ich habe noch ein Problem bei der Umsetzung festgestellt.

Wenn ich das Makro beende indem ich bei "VerkäuferNR" und "Betrag" eine 0 eingebe
wird nur bei VerkäuferNR die 0 eingetragen. in der gleichen Spalte erfolgt bei Betrag keine Eingabe.

Starte ich das Makro nun erneut habe ich immer einen Zeilenversatz, da das Makro immer in die nächste freie Zeile die Werte einträgt.
der erste eingebene Betrag wird hinter die VerkäuferNr O eingeben, die noch aus der ersten Ausführung des Makro eingetragen wurde. Die Dazugehörige VerkäuferNR steht eine Zeile darunter.

Ich möchte bei der Beendigung des Makro in beiden Spalten eine 0 stehen haben.
Wir muss ich es im Makro eingeben?

Ich hoffe, dass meine Frage verständlich geworden ist.

Vielen Dank für eine Antwort!
Natascha


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Natascha
Geschrieben am: 26.10.2014 20:30:29

Hallo,

noch ein kleiner Nachtrag:
bei Eingabe der Zahl "2" wird die Zahl als "2,00 €" im richtigen Format angezeigt.
Wenn ich jedoch Zahlen mit einem Komma eingebe z.B. "1,20" wird der Wert nicht im €-Format angezeigt.

Viele Grüße
Natascha


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Werner
Geschrieben am: 26.10.2014 20:35:47

Hallo Natascha,

gib den Wert in der Inputbox mal mit Punkt und nicht mit Komma ein. VBA spricht Englisch und da ist der Punkt das Trennzeichen.

Gruß Werner


  

Betrifft: AW: Makro: Inputbox mit Schleife von: Natascha
Geschrieben am: 26.10.2014 20:45:27

Hallo Werner,

Du hast Recht. Mit einem Punkt passiert es nicht.
Wenn ich jedoch nur das Nummerfeld benutzen möchte ist die Eingabe mit einem Punkt leider nicht praktikabel.
Es sollen mit diesem Makro große Datenmengen eingegeben werden.
Gibt es daher noch eine andere Alternative?

Viele Grüße
Natascha


 

Beiträge aus den Excel-Beispielen zum Thema "Makro: Inputbox mit Schleife"