• ベストアンサー

エクセル マクロ  コマンドボタンが斜線になって使えなくなる

新しいウインドウを開いてウインドウを並べて コマンドボタンでマクロを実行すると ボタンを押してないほうのシートのコマンドボタンが斜線になります。 そしてマクロが使えなくなります。 なぜでしょうか? エクセルのバグですか? 私だけでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 お話は理解したのですが、どうしたらよいのか、難しいですね。 ウィンドウの優先権というのがありますから、仮に斜線が出ていない状態でも、そのコマンドボタンは有効ではないと思うのです。 ためしに、このようなことを考えてみました。 オートフィルタが出ていないシートの場合は、ボタンにあるシートのAutoFilter が設定され、 オートフィルタがある場合は、オートフィルタのあるシートは、AutoFilter が、解除されるという方法です。 少し、試してみてください。 シートのボタンは、このような共通の内容です。 Private Sub CommandButton1_Click()  If Me.AutoFilterMode = False Then   Me.Range("A1").AutoFilter  'AutoFilter が、A1 からある場合  Else   Call ReleaseAutoFilter  End If  ActiveWindow.SelectedSheets(1).Range("A1").Select End Sub '-------------------------------------------- '標準モジュール (AutoFilter の解除) Sub ReleaseAutoFilter() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets  If sh.AutoFilterMode Then    sh.AutoFilterMode = False  End If Next sh End Sub

noname#150256
質問者

お礼

ちょっと難しいですね。。。 大変参考になりました。ご回答ありがとうございます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 回答としては、分からないですね。 いろんな原因が考えられますが、それを特定することは出来ません。 まず、「コマンドボタン」というのは何か、というところから始まってしまいます。 「ウィンドウ」を開いて並べてということも分かりません。 片方がアクティブのシートのウィンドウで、もう片方がアクティブないシートで、仮に、コントロールツールのボタンが、両方のシートにあって、ウィンドウのシートがアクティブでなければ、ボタンも同時にアクティブではないでしょうね。 第二にマクロ自身の問題もあります。 その可能性を想像して、全部出していくのは、回答側には無理があると思います。

noname#150256
質問者

補足

説明不足ですいません。 >片方がアクティブのシートのウィンドウで、もう片方がアクティブないシートで、仮に、コントロールツールのボタンが、両方のシートにあって まさしくこの状態です。 >ウィンドウのシートがアクティブでなければ、ボタンも同時にアクティブではないでしょうね このときにアクティブではないコマンドボタンが斜線になってしまいます。 マクロ自身は簡単なもので、 「オートフィルタを解除する」 とかそんなものです。 大変参考になりました。ご回答ありがとうございます。 もう一度回答いただければ幸いです。