- ベストアンサー
エクセルのマクロ
Sub test() Dim x As Range For Each x In Selection If x.Value <> "●" And Selection.Font.ColorIndex = 0 Then x.Value = "○" End If Next End Sub 上記は、選択されているセルのフォントが黒でかつ"●"が入力されていない場合は"○"を入力する、というマクロですがうまく動作しません。どうすれば正常に動作するようになるでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1>それは既に試しているのですが、ダメでした。 フォント色が黒ではなく、自動になっているのでしょう では以下を試してください If x.Value <> "●" And (x.Font.ColorIndex = 0 Or x.Font.ColorIndex = xlColorIndexAutomatic) Then
その他の回答 (3)
noname#181803
回答No.4
黒のColorIndexって0じゃなくて1だったりして・・・。
質問者
お礼
ありがとうございました。 今調べてみましたが、そうみたいですね。 "0"は自動のようです。
- 久保 泰臣(@omi3_)
- ベストアンサー率24% (254/1030)
回答No.2
>セルのフォントが黒でかつ"●"が入力されていない場合 というのは、 not( x.Value = "●" And Selection.Font.ColorIndex = 0 ) x.Value <> "●" or Selection.Font.ColorIndex > 0
質問者
お礼
ありがとうございます。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
Selection.Font.ColorIndex = 0 を x.Font.ColorIndex = 0 にしてみる
質問者
お礼
ありがとうございます。 が、それは既に試しているのですが、ダメでした。
お礼
ありがとうございました。 OKでした。