[[20181019091853]] 『フォントの変更』(浅間) ページの最後に飛ぶ

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

 

『フォントの変更』(浅間)

Sub Macro1()

    Selection.Font.Color = RGB(255, 255, 255)
End Sub
というコードを使って一時的に文字を非表示にしているのですが、上記のコードを
"指定したセルのフォントのRGB値が(0,0,0)の場合は(255,255,255)に、(255,255,255)の場合(0,0,0)に変更する"
といったコードにするにはどのようにすればいいのでしょうか?拙い文章で申し訳ありませんがよろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 Sub Macro1()
    If Selection.Font.Color = RGB(255, 255, 255) Then
        Selection.Font.Color = RGB(0, 0, 0)
    ElseIf Selection.Font.Color = RGB(0, 0, 0) Then
        Selection.Font.Color = RGB(255, 255, 255)
    End If
 End Sub

 単純に。。。とかでせうか
(隠居じーさん) 2018/10/19(金) 09:50

 Sub tst()
    Dim WK_RANGE    As Range
    For Each WK_RANGE In Selection
        If WK_RANGE.Value <> "" Then
            With WK_RANGE.Font
                Select Case .Color
                    Case RGB(255, 255, 255): .Color = RGB(0, 0, 0)
                    Case RGB(0, 0, 0): .Color = RGB(255, 255, 255)
                End Select
            End With
        End If
    Next
 End Sub
(ねむねむ) 2018/10/19(金) 09:54

 複数範囲を選択した場合の対応、および文字が入力されていない場合は変化させない様にしている。
(ねむねむ) 2018/10/19(金) 09:56

^^;そぉですよね。。。
私のだと。。。選択範囲に空白を含むと反応無しですね^^;
ねむねむ さんの様に一セル毎に丁寧に判断しないといけなかったですね。
ありがとうございます。
m(__)m
(隠居じーさん) 2018/10/19(金) 10:13

 こんなのはどうですか?
 補色計算で対応。
 Sub Test()
    Dim Rng As Range
    For Each Rng In Selection
        If Len(Rng.Value) > 0 Then Rng.Font.Color = RGB(255, 255, 255) Xor Rng.Font.Color
    Next
 End Sub
(ろっくん) 2018/10/19(金) 10:30

遅くなりましたがお三方ともありがとうございます。
どのコードも大切に使わせて頂きます。
(浅間) 2018/10/19(金) 16:36

コメント返信:

[ 一覧(最新更新順) ]


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