• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA で 一括書式設定(セル内の一部のみ))

Excel VBAで一括書式設定(セル内の一部のみ)

このQ&Aのポイント
  • Excel VBAを使用して、複数のセル内の一部の文字列に対してフォントの書式設定を一括で行う方法について教えてください。
  • 選択されたセル内の一行目に含まれる文字列のみ、フォントの書式設定を赤色にするExcel VBAのマクロを作成しました。しかし、複数のセルが選択された場合にエラーが発生してしまいます。
  • 一括で選択されたすべてのセルの一行目に対して、フォントの書式設定を赤色にするExcel VBAのマクロを作成する方法を教えてください。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

単一セル対象のコードなので複数セルを選択するとエラーになるのです。 複数セルに対応したコードに書き換える必要があります。 Sub 一行目赤() For Each c In Selection With c.Characters(Start:=1, Length:=InStr(Selection.Value, Chr(10)) - 1).Font .ColorIndex = 3 End With Next End Sub

noname#200395
質問者

お礼

できました! InStr(Selection.Value, Chr(10)) - 1)の"Selection"を"c"に修正したらできました。 ありがとうございました。("c"はいまだに謎です…) Sub 一行目赤() For Each c In Selection With c.Characters(Start:=1, Length:=InStr(c.Value, Chr(10)) - 1).Font .ColorIndex = 3 End With Next End Sub

noname#200395
質問者

補足

早速のご回答ありがとうございます。 実行してみたのですが、ここ↓で実行時エラー(型が一致しません)エラーが出てしまいました。 With c.Characters(Start:=1, Length:=InStr(Selection.Value, Chr(10)) - 1).Font 無知で申し訳ないのですが、二行目(For Each c In Selection)の、"c"という文字は定義しなくてもいいのでしょうか?

関連するQ&A