• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ IF分岐 結果がうまく表示されない)

マクロIF分岐結果が表示されない

このQ&Aのポイント
  • マクロを作成しましたが、結果が表示されません。
  • 特定の条件に基づいて、列U、V、Wに値を入力するためのマクロを作成しました。
  • しかし、指定した列に値が表示されません。解決策を教えてください。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (770/1613)
回答No.1

赤丸部分のミスだと思います。

honeybeans
質問者

お礼

イージーミスでした。。。すみません、ありがとうございました。

その他の回答 (1)

  • SI299792
  • ベストアンサー率47% (770/1613)
回答No.2

プログラムが無駄に長いから、ミスを犯します。 私ならこうするというサンプルを載せます。 ' Option Explicit ' Sub test() ' Dim nRow As Long Dim C1 As Long Dim C2 As Long ' [U7:W233].ClearContents ' For nRow = 7 To 233 C1 = Cells(nRow, "I").DisplayFormat.Font.ColorIndex C2 = Cells(nRow, "J").DisplayFormat.Font.ColorIndex If C1 = 33 And C2 = 47 Or C1 = 47 And C2 = 33 Then Cells(nRow, "U") = "う" End If ' C1 = Cells(nRow, "M").DisplayFormat.Font.ColorIndex C2 = Cells(nRow, "N").DisplayFormat.Font.ColorIndex If C1 = 33 And C2 = 47 Or C1 = 47 And C2 = 33 Then Cells(nRow, "V") = "キ" End If ' C1 = Cells(nRow, "Q").DisplayFormat.Font.ColorIndex C2 = Cells(nRow, "R").DisplayFormat.Font.ColorIndex If C1 = 33 And C2 = 47 Or C1 = 47 And C2 = 33 Then Cells(nRow, "W") = "ち" End If   next nRow End Sub 変数は必ず定義しましょう。定義しない変数はVariant になります。Variant はメモリーを食う上、実行速度が遅いのでなるべく使わない方がいいです。 Option Explicit をつければ変数の綴りミスを防ぐことができます。 列は数字より直接文字で指定した方が間違いないです。(変数を使う場合はこの限りではない) 2か所以上で使うセルは、変数に入れた方がいいです。エクセルの表にアクセスするのは時間がかかります。バグを減らすのと、実行速度を上げる効果があります。

honeybeans
質問者

お礼

大変勉強になりました。いつもありがとうございます。

関連するQ&A

専門家に質問してみよう