Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Userform - wie Progr. stop, bis Eingabe erfolgt | Herbers Excel-Forum


Betrifft: Userform - wie Progr. stop, bis Eingabe erfolgt von: Robby
Geschrieben am: 15.08.2012 16:39:11

Hallo,

ich habe eine Userform erstellt mit mehreren Eingabefeldern und Buttons. Nach Eingabe in drei Felder wird über den ersten Button ein VBA-Makro gestartet, welches letztlich eine neue Exceldatei erstellt. Diese soll dann unter einem Namen gespeichert werden, der erst zu diesem Zeitpunkt über die Userform eingegeben werden kann. Das Eingabefeld der Userform erhält zwar den Focus, aber die Verarbeitung des Makros wartet nicht auf die Eingabe. Wie kann ich das erreichen?
Wenn ich einen Stop-Punkt setze und dann den Namen eingebe, läuft alles richtig.
Hier die Funktion, die den Namen aufnehmen soll, nebst der aufrufenden Prozedur:

Public Sub SpeichernImportDatei()
   ActiveWorkbook.Sheets(sRDBlattName).Move
   ActiveWorkbook.SaveAs Filename:=gv_RohdatenImportPfad & NameImportDatei
   ActiveWorkbook.Close
End Sub

Public Function NameImportDatei() As String
   StartForm.Repaint
   StartForm.txt_Import.SetFocus
   NameImportDatei = StartForm.txt_Import.Value
End Function
Vielen Dank für Eure Hilfe
Robby

  

Betrifft: AW: Userform - wie Progr. stop, bis Eingabe erfolgt von: Ramses
Geschrieben am: 15.08.2012 20:11:11

Hallo

Warum so kompliziert ?
Lass das Makro doch erst starten, wenn alle relevanten und benötigten Werte in der Userform eingetragen sind ?

Alternativ hol dir den Dateinamen über eine Inputbox in der Function NameImportDatei

Dim NewFileName as String
newfilename = Inputbox("Bitte geben Sie den Namen der zu speichernden Datei ein.","Name der Datei")
If newfilename = "" or strPtr(newFilename) = 0 then
msgbox "Kein Dateiname erhalten oder Abbrechen geklickt",vbOKonly, "Kritischer Fehler"
exit sub
End if

Diese Variante finde ich allerdings komplizierter, als das Makro erst starten zu lassen, wenn alle Informationen zur Verfügung stehen

Gruss Rainer


Beiträge aus den Excel-Beispielen zum Thema "Userform - wie Progr. stop, bis Eingabe erfolgt"