|
コードの順序が違います。"冒頭に"と書いたはずです。だから・・
Dim MyR As Range
Dim x As Variant ・・・・追加
x = Application.Caller ・・・追加
If VarType(x) <> 8 Then Exit Sub ・・・追加
If MyBt <> x Then MyBt = x ・・・追加
On Error GoTo ELine
Set MyR = Range("x:y").SpecialCells(3, 2).EntireRow
On Error GoTo 0
MyR.Hidden = IIf(MyR.Hidden, False, True)
Set MyR = Nothing
ELine:
と、修正して下さい。
>Public MyBt As String とはどこに入れれば
ツールバーのボタンを使っているなら、そこへ登録しているマクロは
全て標準モジュールに書いているはずです。そのモジュールの一番上
(即ち(General) と太字で表示されている組み込みのコンボボックスに
最も近い場所、という意味です。)に書き込むのです。APIの使用宣言文
とか、グローバル変数を書く位置は、そのように決められています。
|
|