アプリ版:「スタンプのみでお礼する」機能のリリースについて

Win2K、Excel97-2000-2002を使用しています。

Book1.xlsに固定文字列のメッセージボックスを表示するプロシージャ "A" を作成しました。
Book2.xlsのSheet1上に「フォーム」コントロールボックスのボタンを貼り付けました。
マクロの登録でBook1.xls!Aを指定しました。
ボタンを押下すると、固定長文字列のメッセージボックスが表示されます。


このプロシージャ "A" に引数を持たせ、
任意のセルの値を渡したいと思っているのですが、
「フォーム」コントロールのボタンでは、引数を渡すことは不可なのでしょうか。

御教授、御鞭撻の程、何卒宜しくお願い致します。

A 回答 (2件)

まずどんな値を引数にしたいのでしょうか?



グローバル(public)で固定文字列を表示する内容を保持しておき
表示すれば良いのでは?
あるいはボタンを押したプロシジャーの中に別に関数をつくるとか。

例えば現在のセル位置を引数にしたいと考えているなら
引数ではなくプロシジャー内部でセル位置を取得します。


'グローバル変数
Public A As String

Private Function ArgFnc(sval As String)
 Call MsgBox(sval)
End Function

'ボタン1を押す処理
Private Sub CommandButton1_Click()
 Call ArgFnc(A)
End Sub


_Click()はボタンを押したことに対するイベントなわけで
それ以外の情報は何もありません。
VBAの仕様的に不可能と思ってください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

単純に文字列を渡したかったのですが、
やはりフォームコントロールでは無理なのですね。

お礼日時:2004/07/06 17:03

>「フォーム」コントロールのボタンでは、引数を渡すことは不可なのでしょうか


不可能だと思います。

標準モジュールに共通関数を作ってはいかがでしょうか?

(1)ボタンのイベントで共通関数を呼び出す。
Private Sub CommandButton1_Click()
Call ボタン押下("Button1")
End Sub
Private Sub CommandButton2_Click()
Call ボタン押下("Button2")
End Sub

(2)標準モジュールに共通関数を定義。
Sub ボタン押下(caption As String)
Select Case caption
Case "Button1"
MsgBox "Button1"
Case "Button2"
MsgBox "Button2"
End Select
End Sub
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

今後の参考にさせていただきます。

お礼日時:2004/07/06 17:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!