同様のトピックで見つけた解決策を読んで適用しましたが、私の場合は何もうまくいかないようです。
したがって、Module1 の 1 つのサブからユーザーフォームに変数を渡したいと思います。「provinceSugg」という文字列です。
ここに私のコードの関連部分があります:
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
そして、私のユーザーフォームコードで:
Private Sub userformBtn1_Click()
MsgBox provinceSugg
sMain.Range("J6").Value = provinceSugg
End Sub
プログラムを実行すると:
1/サブから呼び出された MsgBox に表示される ProvinceSugg のコンテンツがあります (したがって、provinceSugg があり、空の変数ではありません)。
2/ユーザーフォームから呼び出された MsgBox が空で (値の受け渡しに失敗したため)、" sMain.Range("J6").Value = ProvinceSugg" を実行すると、"Error 424 Object Required" のようなメッセージが表示されてプログラムがクラッシュします (変数がユーザーフォームに渡すことができませんでした)。
フォーラムとここで見つけたすべてのものを試しました(provinceSuggがパブリック変数であることを示すさまざまな方法ですが、まだクラッシュしています...)。
よろしくお願いいたします。