|
▼勉強中 さん:
>
>について、とりあえずそのセルの.Font.Strikethroughを判定するのを考えてみました(下記)。が、この場合セル内の文字の一部分だけに取り消し線が引かれているときはそのセルは「取り消し線が引かれていません」と判別されてしまいます。
>で、やはりCharactersで1文字ずつ判定するべきかと思ったのですが、それなら結局1文字ずつ見るので結局は一緒かと思い直しました。
問題へのアプローチの仕方が良くないと思います。
『全て引かれている』
『全て引かれていない』
『混在している』
この3パターンがあると解っているワケですよね?
コードを拝見すると2パターンの分岐になっています。
うまくいかなくて当然です。
3パターンで『何の値を返すのか?』を検証してみてはどうですか?
ヘルプを見れば、答えは書いてありますけどね^^
'イミディエイトの使い方は調べてください
Sub Test_Chk()
Debug.Print ActiveCell.Font.Strikethrough
End Sub
【別案】
混在の場合に何の値を返すのか解らなくても、
『その他』という書き方で、うまくいくこともあります。
Sub Test_Sel()
Select Case ActiveCell.Font.Strikethrough
Case True
MsgBox "全て消す"
Case False
MsgBox "処理の必要なし"
Case Else
MsgBox "1文字づつチェック"
End Select
End Sub
|
|