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
1912to1916
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

Variablenübergabe zwischen Makro und UF

Variablenübergabe zwischen Makro und UF
13.01.2023 11:23:57
David
Hallo zusammen,
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablenübergabe zwischen Makro und UF
13.01.2023 11:39:16
Rudi
Hallo,
das Einfachste: Definiere die Variablen außerhalb einer Prozedur in einem allg. Modul als PUBLIC.
Die Dim im Code löschen.
Gruß
Rudi
AW: Variablenübergabe zwischen Makro und UF
13.01.2023 13:43:03
David
Hallo Rudi,
also ich hab die "Dim"s jetzt an den Anfang eines Moduls einfach ohne irgendein "Drumherum" (also Sub xyz...) reingeschrieben. Anscheinend funktioniert das so schon. Zumindest gibt's jetzt keine Fehler und die Werte werden in der UF angezeigt.
Meintest du das so?
Danke und Gruß
David
AW: Variablenübergabe zwischen Makro und UF
13.01.2023 13:58:53
Rudi
Hallo,
fast richtig.
Nicht Dim (dann gilt das nur für das Modul) sondern Public.
Gruß
Rudi
AW: Variablenübergabe zwischen Makro und UF
13.01.2023 14:20:59
David
Okay, jetzt hat er's! ;)
Hatte vorhin nur funktioniert, da ich vom "Rumprobieren" die Variable noch in der UF selbst definiert und gefüllt hatte.
Danke nochmal.
Gruß
David
Anzeige
AW: Variablenübergabe zwischen Makro und UF
13.01.2023 14:04:06
onur
Wenn du willst, dass eine Variable in sämtlichen Modulen (alle Blattmodule, Userformen usw) gültig und verfügbar ist, musst du sie schon in einem ALLGEMEINEN Modul als Public deklarieren- z.B. :
Public MeineVariable As String
AW: Variablenübergabe zwischen Makro und UF
13.01.2023 14:21:48
David
Danke.
Gruß
David

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige