Excel - VBA : variable übergeben von Sub Userform
Habe ich Lesen und anzuwenden, die Lösung fand ich auf ähnliche Themen, aber nichts scheint zu funktionieren in meinem Fall.
So, ich will übergeben Sie eine variable von einem sub von meinem Module1 einer userform. Es ist eine Zeichenfolge namens "provinceSugg".
Hier ist der relevante Teil meines Codes :
Public provinceSugg As String
Sub probaCity()
[...]
If province = "" And city <> "" Then
provinceSugg = sCurrent.Cells(p, db_column).Offset(0, 1).Value
UserForm2.Label1 = "Do you mean " & city & " in " & provinceSugg & " ?"
UserForm2.Label1.TextAlign = fmTextAlignCenter
UserForm2.Show
Else
End If
End Sub
Und dann in meine userform code :
Private Sub userformBtn1_Click()
MsgBox provinceSugg
sMain.Range("J6").Value = provinceSugg
End Sub
, Wenn ich aus meinem Programm :
1/ ich habe den Inhalt provinceSugg zeigt die MsgBox aufgerufen, die mein sub (so eine provinceSugg, es ist nicht eine leere variable).
2/ Die MsgBox-Aufruf aus der userform leer ist (also mit übergabe des Werts fehlgeschlagen) und mein Programm stürzt beim ausführen von " sMain.Range("J6").Wert = provinceSugg" mit so etwas wie "Fehler 424 Objekt Erforderlich" (so wird die variable nicht bestanden, um die userform).
Ich versucht, all die Sachen, die ich gefunden auf forum und hier (verschiedene Möglichkeiten, um zu zeigen, dass provinceSugg ist eine öffentliche variable, aber immer noch zusammen...).
Dank im Voraus für Eure Hilfe !
provinceSugg
? Können Sie Ihre Arbeitsmappe (desinfiziert, wenn nötig)?Ich habe einige updates: mit diesem code in das button_click (" MsgBox provinceSugg sMain.Range("J6").Wert = provinceSugg), ich habe jetzt provinceSugg Inhalt angezeigt in der MsgBox, aber immer noch nichts für die nächste Zeile und die gleiche Fehlermeldung (Objekt erforderlich-Fehler 424), so wird der Wert übergeben, aber kann nicht gelesen werden, in der zweiten Anweisung...
Wenn Sie versuchen
Sheets(x).Range("J6").Value = provinceSugg
wo x
ist die position des sMain
funktioniert das - ich denke, das ist Ihr ProblemAch menno ich war so konzentriert auf provinceSugg, dass ich völlig vergaß, auf andere Objekte! Vielen Dank brettdj, das war es tatsächlich !
provinceSugg nicht die Ursache der Fehler in deinem Fall. Seine Produktpalette ist nicht festgelegt. Bitte siehe dieser für weitere details
InformationsquelleAutor Phalanx | 2013-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würden Sie in der Lage sein zu erstellen, die öffentlichen Variablen in der Userform, die festgelegt werden kann durch das Modul.
Diese Variablen sind nur innerhalb der Userform als es geladen wird.
Innerhalb der Userform deklarieren public-Variablen für beide Objekte.
Innerhalb des Moduls können Sie bewerten, können diese beiden Variablen.
InformationsquelleAutor Dan
Innen Hauptmodul
Innen UserForm
Worksheet_SelectionChange ruft eine sub auf dem Modul, wo columnSelection ist als public deklariert und sichtbar aus der UserForm.
Ich habe drei verschiedene Variablen für die Spalte Verweisen, um zu zeigen, dass es ist, wo die UserForm hat Zugriff auf das Modul.
Die über alle Werke und nahm Alter zu finden, und arbeiten daher die Vorlage. Happy hunting Leute
InformationsquelleAutor Andrew Day