プロが教える店舗&オフィスのセキュリティ対策術

いつも皆様には大変お世話になっております

早速ですが・・・
色の付いているセルをダブルクリックで無色にしたいのです。
どうしたらいいでしょうかよろしく

A 回答 (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
のようにすればいいかと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/04/03 13:33

シートタブを右クリックして「コードの表示」を選択すると、VBAの画面が出るので、その画面の右側に以下のマクロをコピーして貼り付けてください。



Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Target.Interior.ColorIndex = xlColorIndexNone
 Cancel = True
End Sub

貼り付けたらVBAの画面は閉じてかまいません。
これで、色をついているセルを(色のついてないせるも同じですが)ダブルクリックしすると、セルが無色になります。
普通はダブルクリックをしたらセルが入力状態になりますが、このマクロでは入力状態にしないようにしています。
ダブルクリックで入力状態にしたい場合は、
 Cancel = True
の行を削除してください。

この回答への補足

説明不足ですいません・・・
現状で下記のような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の色が付いてしまうと消えないのでダブルクリックで消したいのです よろしくお願いいたします。

補足日時:2007/04/02 12:53
    • good
    • 0

参考に。



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

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