[[20070119132330]] 『クリックするとセルの色が変わる』(ショート) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『クリックするとセルの色が変わる』(ショート)

 クリックするとセルの色を変えられるようにするのは可能でしょうか?
 例えば、A1のセルをクリックする度に赤色、
 もう一度押すと元の白色に色が変わり、クッリクする度に色を反転させたいのです。

 クリックだけで変更になっちゃうと、通常作業(クリックするだけ)が大変なことになっちゃいますね^^;
 
 ダブルクリックで考えてみましたが、如何でしょう?
 シートモジュールへ
'---------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    With Target.Interior
        Select Case .ColorIndex
            Case 3
                .ColorIndex = xlNone
            Case xlNone
                .ColorIndex = 3
        End Select
    End With
End Sub
 
 シートモジュールとは、使用したいシートの
 \Sheet1/
  ↑
  ここを右クリック → コードの表示
  出てきた白い画面にコピペです。
 
 (キリキ)(〃⌒o⌒)b

(キリキ)(〃⌒o⌒)b さん

ありがとうございました。
自分が思っていた通りに色が反転しました!!
迅速な対応ありがとうございました!!

ショート


(キリキ)(〃⌒o⌒)b さん

すみません、プログラムのことはさっぱり分からないのですが、

上の方と同じくクリックしたらセルの色が反転したらいいな、

と考えている者です。

プログラム上に”A1”というのはどこに現れているのでしょうか?

確かに上記プログラムだとA1をダブルクリックするたびに

白→赤→白→‥‥‥‥と反転するのは確認できました‥‥‥‥‥。

 幾つかのエリアごとに異なる色を指定するにはどうしたら良いのでしょうか?

例えば

E16:AI17,E28:AI29,E40:AI41 ⇒ ColorIndex=8

E18:AI19,E30:AI31,E42:AI43 ⇒ ColorIndex=26

としたい場合どのようなプログラムになるのでしょうか?

ベテランのビギナーより


 なぜここに質問かわかりませんが・・・
 まず、キリキさんが提示されているプログラムはA1のみなどの指定はありません。
 (どこをダブルクリックしても反転します)

 キリキさんのプログラムに単純にベテランのビギナーさんの条件を追加してみました。
 ちゃんと考えればもっとスマートに出来ると思いますけど・・・

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Const myRng1 As String = "E16:AI17,E28:AI29,E40:AI41" '対象セル範囲1
    Const myRng2 As String = "E18:AI19,E30:AI31,E42:AI43" '対象セル範囲2

    Cancel = True
    If Not Application.Intersect(Target, Me.Range(myRng1)) Is Nothing Then
        With Target.Interior
            Select Case .ColorIndex
                Case 8
                    .ColorIndex = xlNone
                Case xlNone
                    .ColorIndex = 8
            End Select
        End With
    ElseIf Not Application.Intersect(Target, Me.Range(myRng2)) Is Nothing Then
        With Target.Interior
            Select Case .ColorIndex
                Case 26
                    .ColorIndex = xlNone
                Case xlNone
                    .ColorIndex = 26
            End Select
        End With
    End If
 End Sub


ありがとうございました。理屈はよく分かりませんがまさに思っていた通り反転しました。

迅速な対応、ありがとうございました<(__)>

ベテラン、改め、永遠のビギナーより


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.