EXCEL VBA 文字色を変える
よろしくお願いします。
【条件】
セルの文字列を一文字ずつ読み込み、
文字色が赤だったら黒にするというVBAを作成したいです。
例)
セルA(1、1)の「あいうえお」 の”い”が青、”う”が赤だった場合、”う”を黒にする。
【状況】
以下のようなVBAを作成しました。
実行するとVBAは正常終了するのですが、VBAで上記変換をかけたEXCELファイルを開くと
エラーが発生します。
デバッグモードで一行ずつ実行すると下記※2部分で文字化け?しているようです。
VBA)
Do Until i = c
If Range("xx").Characters(i ,c-1).Font.color = RGB(255,0,0) then
Range("xx").Characters(i, c-1).Font.color = RGB(0,0,0) ・・・※2
i = i +1
End if
Loop
【エラー】
『"ファイル名"には読み取れない内容が含まれています。このブックの内容を回復しますか?
ブックの発信元が信頼できる場合は「はい」をクリックして下さい。』
『"ファイル名”の修復
読み取れなかった内容を修復または削除することにより、ファイルを開くことが出来ました。
修復されたレコード./xl/worksheets/sheet1.xmlパーツ内のビュー』
上記エラーが表示される+エクセルの内容の大部分が消えます。
【質問】
上記VBAは本物を持ち出せないのでイメージです。
(もしかしたら細かい間違いがあるかもしれませんが実物は構文エラーはありません。)
質問したいのはロジックではなく以下になるのでイメージで汲み取っていただけるとありがたく。。
(1)Fontの書き換えを行った際、上記【エラー】が発生するのはどのような理由があるか
わかりますでしょうか。
(2)エラーの理由の詳細はわからないが「こんなやりかたではどうか」という
【条件】を満たす他のロジックは何かないでしょうか。
他にもオートメーションエラーが発生したり正直お手上げ状態でわらをもすがる思いです。
思いつきでもよいので何かありましたら回答のほどよろしくお願いいたします。
お礼
ありがとうございます。