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 !

Funktionierte gut für mich. Gibt es einen anderen code ausgeführt wird - wie der UserForm-Initialisierung - interering mit 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 Problem
Ach 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

Schreibe einen Kommentar