• ベストアンサー

変数を引き継ぐには...

Public Sub CommandButton1_Click() Dim m As Integer m = 1 run "macro8()" End Sub Sub Macro8() range("a1")=m end sub run を実行したときに,変数mを引き継ぐ方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

Private Sub CommandButton1_Click()  Dim m As Integer  Dim z As String  m = 10  z = "ABC"  Call Macro8(m, z) End Sub Private Sub Macro8(X As Integer, y As String)  Range("a1") = X  Range("a2") = y End Sub あえて、変数名を別にしてみました。 つまり、Macro8で使う変数は m や z で無くても良いのです。 順番とタイプが合えばOKです。 run "macro8()"は、 Call Macro8()にして下さい。 (call は要らないけど、明示したほうが分りやすい。) Sub Macro8()は、 Private Sub Macro8()として下さい。 ではでは

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

Public Sub CommandButton1_Click() Dim m As Integer m = 1 Call Macro8(m) End Sub Sub Macro8(m As Integer) Range("A1") = m End Sub

noname#91724
noname#91724
回答No.1

これでどうでしょ? Dim m As Integer m = 1 Macro8 m End Sub Sub Macro8(m As Integer) Range("a1") = m End Sub

yoshiki234
質問者

お礼

早速の回答をありがとうございます。 試したところ,  コンパイルエラー  subまたはFunctionが設定されていません。 とメッセージがでるのですが,何が原因でしょうか?

関連するQ&A