私は類似のトピックで見つけましたが、私の場合は何も動作していないようです。Excel - VBA:SubからUserformに変数を渡します。
だから、私は、ユーザーフォームに自分のModule1の一つのサブからの変数を渡したいです。それは "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/ userformから呼び出されたMsgBoxは空です(値を渡すと失敗します)。 "sMain.Range(" J6 ")。Value = provinceSugg"を実行するとプログラムがクラッシュする "Error 424 Object Required" (そのため、変数はユーザーフォームに渡されませんでした)。私はすべてのものを試してみました
私は(provinceSuggは、パブリック変数が、まだ...クラッシュであることを示すために、さまざまな方法)フォーラムで、ここを見つけました。
ご協力いただきありがとうございます。
私のためにうまくいった。 'provinceSugg'でintereringするUserForm Initialisationのような他のコードが走っていますか?あなたはあなたのワークブックを投稿できますか? – brettdj
@brettdj私はいくつかの更新があります:このコードはbutton_click( "MsgBox provinceSugg sMain.Range(" J6 "))です。Value = provinceSugg)、私は今MsgBoxに表示されているprovinceSuggコンテンツを持っていますが、次の行と同じエラー(オブジェクト必須/エラー424)には何も残っていないので、値は渡されますが、 。 – Phalanx
'Sheets(x).Range(" J6 ")を試してみたらValue = provinceSugg'ここで' x'は 'sMain'の位置です - これはあなたの問題だと思います – brettdj