|
ソフトバンククリエイティブの『やさしくわかるExcel 関数・マクロ』
h00p://isbn.sbcr.jp/2659X
という本を読みながらマクロを学習している者です。
この本の275ページにある演習問題の01について分からないことがあります。
問題は、
「セルA1に入力されている文字が白色でなければ白色に変え、白色なら黒色に変えるマクロを作りなさい」
というもので、
条件として、
「セルA1には何かのデータが入力されているものとする。」
となっています。
上記サイトからダウンロードした模範解答のマクロでは、
セルA1に「見えますか?」と入力されていて、
プロシージャは以下のようになっています。
Sub セルA1の文字が白色でなければ白色に白色なら黒色に()
If Range("A1").Font.ColorIndex <> 2 Then
Range("A1").Font.ColorIndex = 2
Else
Range("A1").Font.ColorIndex = 1
End If
End Sub
しかし、私は以下のように作りました。
Sub 文字色変更()
a = Range("A1").Font.ColorIndex
Select Case a
Case a = 2
Range("A1").Font.ColorIndex = 1
Case Else
Range("A1").Font.ColorIndex = 2
End Select
End Sub
そうしたところ、模範解答のマクロは実行するたびに、セルA1に入力されている「見えますか?」の文字の色が黒→白→黒→白→...と交互に変わるのですが、私が作成したマクロでは、黒→白→白→白→...となってしまい、いったん白になった文字の色が黒に変わりません。
このマクロのどこに問題があって、白→黒に変わらないのでしょうか。
ExcelはOffice XP PersonalのExcel 2002 SP3を使用しています。
よろしくお願いします。
|
|