|
すず さん、こんばんわ。
>質問です。(以下に例を記載しました。)
> 「sub」をまたいだデータのやり取りの方法を教えてください。
> ボタンを使用する一連の動きの中で、
> 同じ動作をするものをcallで呼び出し動作させたいのですが、
> データの持ち出しができません。
>実行したボタンの名前を取得できるようにしたいのですが、
>取得したデータをメッセージボックスに貼り付けるとき、
>以下の(例1)と(例2)の場合どちらもエラーになるのです。
シート名ではなくて?
とりあえず、アクティブなシート名を取得する方法の一つです。
コマンドボタンのマクロ例
Private Sub CommandButton1_Click()
Dim Sdat As String '受ける変数名は引数のそれと一致していなくていい
'
test1 Sdat
MsgBox Sdat
End Sub
実行する部分(標準モジュールに書いてください)
Sub test1(onShtName As String)
'シート名
onShtName = Application.ActiveSheet.Name
End Sub
これで、ボタンをクリックすると、それぞれアクティブになっているシート名が表示されます。
今回のように、値を一つしか返さない場合はFunctionにするのも手です。
コマンドボタンのマクロ
Private Sub CommandButton1_Click()
MsgBox onShtName
End Sub
実働部分(標準モジュール)
Function onShtName() As String
'シート名
onShtName = Application.ActiveSheet.Name
End Function
|
|