• ベストアンサー

エクセル VBA 色が付いているセルを無色にする

いつも皆様には大変お世話になっております 早速ですが・・・ 色の付いているセルをダブルクリックで無色にしたいのです。 どうしたらいいでしょうかよろしく

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

すみません、何がやりたいのか今ひとつわかってないのですが、 > この状態からH7~K7の色が付いてしまうと消えないので > ダブルクリックで消したいのです よろしくお願いいたします。 E3:E6の範囲のように、H7:K7の範囲のセルをダブルクリックしたらそのセルに色がついて、その他のセルを無色にしたいのであれば、 myRng.Interior.ColorIndex = 37 の前に Rng.Interior.ColorIndex = xlColorIndexNone を挿入したらいいでしょう。 そうでなくて、H7:K7の範囲のセルをダブルクリックしたら色がつき、もう一回ダブルクリックしたら色が消える、ということをしたいのであれば、 myRng.Interior.ColorIndex = 37 の部分を、 If myRng.Interior.ColorIndex = xlColorIndexNone Then  myRng.Interior.ColorIndex = 37 Else  myRng.Interior.ColorIndex = xlColorIndexNone End If のようにすればいいかと思います。

nanny
質問者

お礼

お返事遅くなりませて申し訳ありません 今回は下の構文をいただきました。 わかりにくい文章ですいませんでした。 色々教えていただきありがとうございました。 また次回もよろしくお願いいたします

その他の回答 (2)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

シートタブを右クリックして「コードの表示」を選択すると、VBAの画面が出るので、その画面の右側に以下のマクロをコピーして貼り付けてください。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  Target.Interior.ColorIndex = xlColorIndexNone  Cancel = True End Sub 貼り付けたらVBAの画面は閉じてかまいません。 これで、色をついているセルを(色のついてないせるも同じですが)ダブルクリックしすると、セルが無色になります。 普通はダブルクリックをしたらセルが入力状態になりますが、このマクロでは入力状態にしないようにしています。 ダブルクリックで入力状態にしたい場合は、  Cancel = True の行を削除してください。

nanny
質問者

補足

説明不足ですいません・・・ 現状で下記のようなVBAを組んでいるのですが、それの中に組み込みたいのです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Rng As Range, myRng As Range Dim RngA As Range, myRngA As Range Set Rng = Range("H7:K7") Set myRng = Intersect(Target, Rng) If myRng Is Nothing Then Set RngA = Range("E3:E6") Set myRngA = Intersect(Target, RngA) If myRngA Is Nothing Then Exit Sub RngA.Interior.ColorIndex = xlColorIndexNone myRngA.Interior.ColorIndex = 46 Else myRng.Interior.ColorIndex = 37 End If Cancel = True End Sub この状態からH7~K7の色が付いてしまうと消えないのでダブルクリックで消したいのです よろしくお願いいたします。

回答No.1

参考に。

参考URL:
http://oshiete1.goo.ne.jp/qa2835483.html

関連するQ&A