• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロの不具合を教えてくださいませ。)

マクロの不具合を教えてくださいませ。

このQ&Aのポイント
  • マクロを実行すると、「着色」ができない不具合が発生しています。
  • 具体的には、セルの値が「a」の場合は「赤」に、セルの値が「o」の場合は「青」に着色するはずですが、着色がされていません。
  • 不具合の原因を特定するために、コードのどの部分に問題があるか教えてください。

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

  • ベストアンサー
  • moguppe
  • ベストアンサー率30% (20/65)
回答No.4

Sub 着色文字置換() Dim index_1 As Integer Dim index_a As Integer For index_1 = 5 To 12 For index_a = 3 To 7 文字 = Cells(index_1, index_a).Value Select Case 文字    Case "a" '着色 Cells(index_1, index_a).Font.ColorIndex = 3 Case "o" '着色 Cells(index_1, index_a).Font.ColorIndex = 5 End Select Next index_a Next index_1 End Sub これでどうでしょうか?

baseball_b
質問者

お礼

早速のご教授有難うございました。 大変参考になりました。 感謝してます。^^

その他の回答 (3)

回答No.3

どのような結果を求めているかがわからないので回答はできませんが、 エラーになることなく処理は終了するでしょう。 ステップイン(F8キーを押す)で一行ずつ実行することができます。 ご自身で解決できませんか? 追伸 フォントの色が変わるセルの位置が期待とは違うのでしょうか? このプログラムだと実行時にフォーカスされてるセルのフォント色が変わります。

  • emaxemax
  • ベストアンサー率35% (44/124)
回答No.2

お書きのコードはどこも選択させる指示がないのに選択したセルを着色するようになっているからです。 選択させるなら Sub 着色文字置換02() For index_1 = 5 To 12 For index_a = 3 To 7 Cells(index_1, index_a).Select '選択 文字 = Selection.Value Select Case 文字 Case "a" Selection.Value = "赤" '着色 Selection.Font.ColorIndex = 3 Case "o" '選択 Selection.Value = "青" '着色 Selection.Font.ColorIndex = 5 End Select Next index_a Next index_1 End Sub 選択しなくても着色するなら Sub 着色文字置換03() For index_1 = 5 To 12 For index_a = 3 To 7 Set myCell = Cells(index_1, index_a) With myCell 文字 = .Value Select Case 文字 Case "a" .Value = "赤" '着色 .Font.ColorIndex = 3 Case "o" '選択 .Value = "青" '着色 .Font.ColorIndex = 5 End Select End With Next index_a Next index_1 End Sub どちらでも大丈夫です。

baseball_b
質問者

お礼

早速のご教授有難うございました。 大変参考になりました。 感謝してます。^^

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

現在選択中のセルの色を変えてますが、現在選択中のセルを選び直してないからだと。 index_1とindex_aの変更に合わせてセルをselectするか、Cells()を使っているから、ダイレクトに指定セルの色を変えるコードにしてみては。