Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inputbox oder UserForm

Inputbox oder UserForm
22.04.2007 19:47:45
Roger
Hallo Zusammen,
ich habe vorhin ein bisschen im Archiv gestübert.
Fand aber keine Lösung für mein Problem.
Wenn ich eine Inputbox verwende habe ich 2 Probleme.
Zum einen möchte ich bei einer Eingabe im Makro definieren, das es nur ganze Zahlen von 1 bis 2000 sein dürfen.
Zudem möchte ich den Knopf "Abrechen" abfangen.
Wie sieht es aus wenn in dem Feld auch noch zwei Knöpfe sein müssen, die beim drücken jeweils eine vordefinierte Zahl in eine Zelle schreiben?
Viele Fragen auf einmal, aber ich glaube Sie sind Grundlegend um zu entscheiden ob ich mich auf eine Inputbox konzentrieren soll oder auf eine Userform.
Wäre schön wenn jemand eine Idee hätte.
Gruss Roger

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Eingabe kontrolle / Wieder zurück
22.04.2007 20:32:59
Roger
Hallo Sepp,
genau soetwas ;O)
habe aber dazu noch zwei fragen:
Das eigentliche Makro läuft im Modul. Diese Userform ist eine Abfrage die in diese Makro hinein läuft.
Das geht so weit ja auch, aber wie komme ich nach dem ok wieder in das ursprungliche Makro zurück?
Wie kontrolliere ich die Eingabe?
Wenn Du darauf auch noch eine Antwort hast wäre das spitzenmässig!!!
Gruss Roger

Anzeige
AW: Eingabe kontrolle / Wieder zurück
22.04.2007 21:12:00
Daniel
Hallo
im prinzip kannst du das ganze auch mit ner inputbox machen, das einzige was nicht geht, sind die zwei vorgabewerte zur auswahl. Das geht nur mit userform. Wenn dir aber einvorgabwert reicht, dann kannst du auch eine Inputbox nehmen.
der Code dazu mit Prüfung und Abbruch-Möglichkeit dazu sieht so aus:

Sub test()
Dim a
Do
a = InputBox("Zahl zwischen 1 und 20000 eingeben", "Eingabe", 1000)
If IsNumeric(a) Then
a = CDbl(a)
If a >= 1 And a 


Falls du lieber mit Userform arbeitest:
- Rückgabe des Wertes am besten mit einer Globalen Variable, dh die Variable wird im allgemeinen Modul außerhalb der Sub (oben, direkt unter Option explicit) als PUBLIC deklariert, dann kannst du sie überall im Projekt verwenden, also auch in der Userform.


Option explicit
Public a as string
sub DeinMakro()
End sub


- zurück zum Makro gehts mit UNLOAD ME. dann wird die Userform geschlossen und das Makro läuft weiter.
Gruß, Daniel

Anzeige
Inputbox
22.04.2007 22:51:54
Roger
Hallo Daniel,
Das mit den Zahlen ist ok. Aber für die Texteingabe würde ich gern eine Inputbox verwenden.
Wie ich einen Zahlenbereich definieren kann weiss ich jetzt dank Dir.
Wie sieht es aus, wenn ich nur Text möchte und sagen wir maximal 16 Zeichen?
Gibt es da auch eine Lösung?

AW: Inputbox
22.04.2007 23:02:00
Daniel
Hallo
im Prinzip so, allerdings kann der Text Zahlen enthalten (allerdings werden auch diese als Text behandelt):

Dim a as string
Do
a = InputBox("Text eingeben (max 16 Zeichen, abbrechen mit xxx)", "Eingabe")
if len(a) > 0 and len(a)


Gruß, Daniel
btw, das springen des Codes zwischen allgemeinen Modul und Userform hat eigentlich keine Nachteile, solange du die Übersich nicht verlierst. Auch mit den Variablen sollte man nicht durcheinander kommen. Daher sollte man sowas möglichst vermeiden.

Anzeige
Inputbox
22.04.2007 23:10:00
Roger
Werde das Morgen testen.
Daniel ich habe irgendwo gemeint gelesen zu haben das Du den Type=1 oder so setzen kannst um genau das zu verhindern.
Verwechsle ich da etwas?
Auf jeden fall besten Dank.

AW: Inputbox
22.04.2007 23:26:00
Jens
Hi,
es gibt eine Inputbox-Funktion und eine Inputbox-Methode. Was du meinst, betrifft die
Methode, nachzulesen in der Hilfe.
mfg Jens

Das funktioniert...
22.04.2007 21:42:00
Roger
Hallo nochmal,
habe dein erstes Beispiel etwas abgeändert.
Wenn ich nun auf den Knopf 50 oder 500 drücke, wird die Zahl gleich übernommen.
Das läuft super!!!
Kann ich das x zum schliessen des Fensters auch irgendwie abfangen, so wie die Textbox?
Wenn keine Eingabe erfolgt kommt ja eine Meldung.
Wie sage ich aber bei der Textbox das es eine ganze Zahl zwischen 1 und 2000 sein muss?
Wie kann ich in einer anderen Textbox eine Buchstabeneingabe auf Anzahl Zeichen begrenzen?
Ist das hin und her springen zwischen Makros ein Nachteil?
Vielleicht hast Du ja auch noch eine Lösung auf diese Fragen.
Auf jedenfall bedanke ich mich schon jetzt recht herzlich bei Dir Sepp.
Gruss Roger

Anzeige
Das funktioniert...
23.04.2007 16:11:34
Roger
Text:
Hallo nochmal,
habe dein erstes Beispiel etwas abgeändert.
Wenn ich nun auf den Knopf 50 oder 500 drücke, wird die Zahl gleich übernommen.
Das läuft super!!!
Kann ich das x zum schliessen des Fensters auch irgendwie abfangen, so wie die Textbox?
Wenn keine Eingabe erfolgt kommt ja eine Meldung.
Wie sage ich aber bei der Textbox das es eine ganze Zahl zwischen 1 und 2000 sein muss?
Wie kann ich in einer anderen Textbox eine Buchstabeneingabe auf Anzahl Zeichen begrenzen?
Ist das hin und her springen zwischen Makros ein Nachteil?
Vielleicht hast Du ja auch noch eine Lösung auf diese Fragen.
Auf jedenfall bedanke ich mich schon jetzt recht herzlich bei Dir Sepp.
Gruss Roger

Anzeige
AW: Das funktioniert...
23.04.2007 19:46:00
Josef
Hallo Roger,
Textbox zur Zeicheneingabe auf dem selben UF oder auf einem anderen?
Maximal 16 Stellen kannst du in den Eigenschaften der TB einstellen - "MaxLength".
Welche Zeichen sollen zugelassen werden? (nur Buchstaben, Groß- Kleinschreibung, Sonderzeichen, ...)
Was soll beim Schließen des UF mit dem Kreuz passieren?
Gruß Sepp

Mein Fehler...
23.04.2007 20:07:24
Roger
Hallo Sepp,
ich glaube ich habe das ganze für mich noch zusätzlich erschwert durch die vielen Fragen ;O)
Ich versuche mir nun die Antworten ein bisschen mit Büchern und Beispielen zu erarbeiten.
Das mit der MaxLength ist ein guter input.
Möchte Deine Zeit nicht unnötig beanspruchen.
Du hast mich schon extrem weiter gebracht.
Besten Dank für Deine Hilfe
Wenn ich jedoch keine Antworten finde, erlaube ich mir wieder zu schreiben... ;O)
Gruss Roger

Anzeige
Mein Fehler...
23.04.2007 20:07:31
Roger
Hallo Sepp,
ich glaube ich habe das ganze für mich noch zusätzlich erschwert durch die vielen Fragen ;O)
Ich versuche mir nun die Antworten ein bisschen mit Büchern und Beispielen zu erarbeiten.
Das mit der MaxLength ist ein guter input.
Möchte Deine Zeit nicht unnötig beanspruchen.
Du hast mich schon extrem weiter gebracht.
Besten Dank für Deine Hilfe
Wenn ich jedoch keine Antworten finde, erlaube ich mir wieder zu schreiben... ;O)
Gruss Roger

AW: Mein Fehler...
23.04.2007 20:44:00
Josef
Hallo Roger,
kein Problem, wenn du eine Konkrete frage hast, dann mach einfach einen neuen Thread auf.
Gruß Sepp

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige