• ベストアンサー

VBA 先頭一文字だけ残し、色を無しにしたいです

office365です。 A列に文字が入っており、必ず先頭は何かしらの記号が入っています。 セルには、塗りつぶし書式がかかっている個所があり、色は「黄」で統一です。 A列を検索し、セルに塗りつぶしがされていた場合、そのセルの先頭の文字だけ残して削除し、かつ色無し。 色が塗りつぶしされていないセルは、変化無しです。 という命令を作りたいのですが、どう作ればいいか戸惑っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

以下で試してみてください。 vbYellowd変化がない場合は、実際の色をマクロの記録で取得してその値を設定ください。 Sub Test() Dim c As Range For Each c In Range("A1:A100") If c.Interior.Color = vbYellow Then c.Value = Left(c.Value, 1) c.Interior.Pattern = xlNone End If Next End Sub 全ての色に対応したい場合は If c.Interior.Pattern <> xlNone Then で

nanakora
質問者

お礼

ありがとうございました。とても助かりました。