Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1020to1024
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Inputpox

Inputpox
31.10.2008 20:38:00
Jochen
Wer kann mir helfen?
Wenn ich in der Inputbox auf abbrechen klicke dann läuft das Makro nicht richtig.
Bei OK sollen die Werte in die Zelle eingetragen werden.
Auf abbrechen soll eine neue Eingabe erfolgen.
Es sollen Buchstaben und Zahlen eingegeben werden können.
https://www.herber.de/bbs/user/56435.xls
Gruß Jochen

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputpox
31.10.2008 21:08:08
JogyB
Probier es mal so:

Sub Namen()
Range("A9").Select
Dim Namen
1   Namen = Application.InputBox("Bitte geben Sie die Kanalbezeichnung ein:", "Kanalbezeichnung" _
_
_
, "Bezeichnung eingeben", 160, 160)
If Namen = False Then
Exit Sub
ElseIf Namen  "*" Then
Range("A9").Value = Namen
Else ' Der Vergleich war hier sinnlos, da ""  "*" und damit gar nicht vorkommen kann
GoTo 1
End If
End If
End Sub

Wobei mir nicht ganz klar ist, was die Abfrage nach dem "*" eigentlich bewirken soll.
Gruss, Jogy

AW: Inputpox
31.10.2008 22:25:00
Jochen
Danke für die Antwort
Aber das löst mein Problem nicht.
Das Exit Sub bricht das Makro ab,soll aber nicht aus dem Makro aussteigen, beim anklicken von abbrechen soll ja von vorn angefangen werden. Muss dabei sagen das soll nur der Anfang von mehreren Abfragen
sein, wobei jeweils Werte über eine Inputbox in verschiedene Zellen eingetragen werden sollen.
Du schreibst der Vergleich ist sinnlos.
Wie kann ich dann das makro so schreiben das wenn ich auf OK klicke die Eingabe in die Zelle übertragen wird und beim anklicken von abbrechen das makro von vorn startet?
Gruß Jochen
Anzeige
AW: Inputpox
01.11.2008 09:52:00
JogyB
Sollte dann so passen:

Sub Namen()
Dim Namen
While Namen = False ' Or Namen = "" ' Wenn leere Eingaben unerwünscht sind, _
dann das ' vor Or entfernen
Namen = InputBox("Bitte geben Sie die Kanalbezeichnung ein:", "Kanalbezeichnung", _
"Bezeichnung eingeben", 160, 160)
Wend
Range("A9").Value = Namen
End Sub


Gruss, Jogy

AW: Inputpox
31.10.2008 23:38:35
Uwe
Hi JOchen,
ich denke so könnte es klappen:

Sub Namen()
Range("A9").Select
Dim Namen As String
1   Namen = Application.InputBox("Bitte geben Sie die Kanalbezeichnung ein:", "Kanalbezeichnung" _
, "Bezeichnung eingeben", 160, 160)
If Namen = "Falsch" Then _
GoTo 1
If Namen  "*" Then
Range("A9").Value = Namen
Else
If Namen  "" Then
GoTo 1
If Namen = "Falsch" Then _
GoTo 1
End If
End If
End Sub


Ich habe dabei allerdings etwas "Bauchschmerzen" weil die goldenen Regel gilt, GoTo nur für die Fehlerbehandlung zu benutzen und sonst NIE. Mir fällt allerdings im Moment keine andere Lösung ein.
Gruß
Uwe
(:o)

Anzeige
AW: Inputpox :Hier die Lösung
01.11.2008 12:46:24
Jochen
Hallo
Danke für die Antworten.
Nach einigen probieren hier Lösung für mein Problem.
Das erstemal das ich nicht nur ein Makro übernommen habe sondern
die Lösung selber gefunden habe.
Aber nochmal danke für die Hilfe.
https://www.herber.de/bbs/user/56443.xls
Gruß Jochen
AW: Inputpox :Hier die Lösung
01.11.2008 12:52:00
Ralf
Hi,
wirf die Lösung in den Müll, select und Goto haben in einem Code nichts zu suchen.
mfg Ralf
AW: Inputpox :Gegenvorschlag
01.11.2008 13:42:00
Jochen
Das was ich erreichen wollte mach das Programm.
Dann mache mir bitte einen Vorschlag mit einer bessern Lösung.
Bin kein Experte und bin dankbar für jede Hilfe
Gruß Jochen
Anzeige
AW: Inputpox :Gegenvorschlag
01.11.2008 15:01:00
Ralf
Hi,
du solltest schon alle Antworten lesen, da waren schon die richtigen Sachen dabei.
Nicht alles, was geht, sollte auch gemacht werden(z.B. Atomwaffen).
mfg Ralf
AW: Inputpox :Hier die Lösung
01.11.2008 17:59:43
JogyB
Hi.
Wenn nach dem Select noch ein Case kommt und vor dem GoTo ein On Error, dann schon ;). Aber auch wirklich nur dann (wenn es sich irgendwie vermeiden läßt).
Gruss, Jogy
AW: Inputpox :Hier die Lösung
01.11.2008 14:11:13
JogyB
Hi.
Das funktioniert durchaus, ist aber kein besonders schöner Programmierstil. Schau Dir mal mein Beispiel an... man kann sich nie früh genug einen sauberen Stil angewöhnen. Ich habe das am Anfang nicht gemacht und knabbere da teilweise heute noch dran rum.
Gruss, Jogy
Anzeige
AW: Inputpox :Hier die Lösung
01.11.2008 15:02:00
Jochen
Hallo Jogy
Habe ja geschrieben das ich nicht der große VBA Experte bin und lernen möchte.
Meinst du das das Erste oder zweite Beispiel.
Verstehe im Moment rein garnichts.
Im zweiten Beispiel bringen mich die Kommentare durch ein ander.
Obwohl ich sonst damit besser zurecht komme.
Gruß Jochen
AW: Inputpox :Hier die Lösung
01.11.2008 17:56:27
JogyB
Hallo.
Ich meine das zweite Beispiel.
So wie es dort steht, überprüft es nur auf Abbrechen. Dann ist Namen = False - deswegen habe ich bei der Deklaration von Namen auch keinen Typ angegeben (entspricht As Variant), so dass es in diesem Fall eine Variable des Typs Boolean statt String ist. Der Grund dafür ist schlichtweg, dass das False eindeutig, das "Falsch" aber auf die deutsche Sprachversion beschränkt ist.
Wenn Du noch darauf überprüfen willst, ob gar nicht eingegeben wurde, dann mußt Du das erste ' _ wegmachen. Es steht dort dann statt

If Namen = False Then

der Ausdruck


If Namen = False or Namen = "" Then

D.h. eine Überpüfung auf zwei Kriterien.
Wenn Du noch Fragen hast, dann einfach her damit,
Gruss, Jogy

Anzeige
AW: @Jogy Inputpox :Hier die Lösung
01.11.2008 18:08:45
Uwe
Hi Jogy,
der Trick die Variable als Variant zu definieren um den boolean Wert FALSE statt des deutschen Strings zu erhalten kannte ich noch nicht. Ist 'ne tolle Lösung, werde ich mir merken. DANKE
Gruß
Uwe
(:o)
AW: Inputpox : ?
01.11.2008 21:54:00
Jochen
Hallo Jogy
Danke für die Antwort
Habe mir jetzt das zweite Beispiel ausgedruckt.
Im Moment verstehe ich nichts mehr. Bohre an einem dicken Brett ohne Ergebnis.
Was ist mit der While und Wend Anweisung aus Beispiel zwei? Brauch ich die noch?
Im letzten Beitrag schreibts du dann von einer If Anweisung.
Im Moment kann ich mit den ganzen Sachen immer weniger anfangen.
Bin im Moment überfordert.
Gruß Jochen
Anzeige
AW: Inputpox : ?
02.11.2008 12:59:12
JogyB
Sorry, mein Fehler... muss natürlich

While Namen = False

bzw.


While Namen = False or Namen = ""

heissen.
Ich hoffe damit wird es verständlich... falls nicht, einfach nochmal schreien ;)
Gruss, Jogy

AW: Inputpox : Danke
02.11.2008 13:31:00
Jochen
Danke Jogy
Jetzt gehts so wie ich wollte.
Das Brett hat ein großes Loch.
Gruß Jochen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige