kurz vorab: Meine VBA-Kenntnisse sind alle per Trial&Error und durch viele Fragen hier im Forum gewachsen. Manchmal fehlen mir halt aber die "Basics".
Nun das eigentliche Problem/die Frage.
Der nachfolgende Code in einem Worksheet funktioniert und macht genau das, was er (im Moment) soll:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Call drucken_Click
End If
End Sub
Private Sub drucken_Click()
Dim PrintMsg As String
Dim NameTemplate As String
Dim Dummy As String
Dim Abbruch As String
Dim Auswahl As Long
Dim NameTemplateHelp As String
Dim NeueZeile As Long
NameTemplateHelp = "Vorschlag für Dateiname (mit STRG-C in die Zwischenablage kopieren und im nächsten Dialogfeld als Dateiname mit STRG-v einfügen)"
Auswahl = Selection.Row
If Selection.Count > 1 Then
MsgBox "Bitte nur einen Belege markieren!"
ElseIf Selection.Column 1 Then
MsgBox "Bitte nur auf Belegnummer (Doppel)klicken!"
ElseIf Cells(Auswahl, Selection.Column) = "" Then
MsgBox "Gewählte Zelle ist leer!"
ElseIf Auswahl
Jetzt möchte ich das gerne noch etwas "aufbohren" und einige Sachen im Dialog mit dem Anwender einbauen. Dazu wollte ich eine Userform anzeigen lassen, in dem ein paar aus dem Code generierte Daten angezeigt werden, dann verschiedene Einstellungen vorgenommen werden können und dann soll der Code mit (eventuell) veränderten Daten weitergehen.Nun habe ich aber gemerkt, dass die UF die Variablen-Werte nicht übernimmt oder übergeben bekommt. Der Wert für "Selection" ist da, aber andere im Code verwendeten Variablen nicht. Mir ist natürlich klar, dass nur Variablen da sein können, die VOR dem Aufruf der UF definiert wurden! Aber selbst das funktioniert derzeit nicht.
Jetzt die eigentliche Frage:
- Wie muss ich das gestalten, dass eine im Code ermittelte Variable (hier zum Beispiel Auswahl) in der Userform vorhanden ist?
- Wie muss ich die in der UF ggf. getroffenen Einstellungen (z. Bsp. aus Checkboxen) formulieren, dass der Wert im Code weiterverarbeitet werden kann?
Ich hoffe, das Problem ist klar und es ist mit wenig Aufwand erklärbar.
Danke vorab.
Gruß
David