• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列で特定のフォント色を付けたいのですが?)

配列で特定のフォント色を付けたいのですが?

このQ&Aのポイント
  • VBAを使用して、配列内の特定の値に対してフォント色を変更したいです。
  • 実行時エラー'424'が発生しているようで、オブジェクトが必要とされています。
  • 該当のコードでは、Variant型の変数に値を代入している際にエラーが発生している可能性があります。

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

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

最後の Range(.Cells(10, TNK), .Cells(lRow, TNK)) = MyArray が何をやりたいのか分からないのですが 無視して WithがないのとTNKに値が代入されていないのは質問時に省略しているだけだとして Dim MyArray As Range lRow = .Cells(Rows.Count, 1).End(xlUp).Row Set MyArray = Range(.Cells(10, TNK), .Cells(lRow, TNK)) For i = 1 To lRow - 9 If MyArray(i, 1) = "晴" Then MyArray(i, 1).Font.Color = RGB(0, 176, 80) End If Next もしくは(どこから色付けしたいのか不明なので) Dim MyArray As Variant lRow = .Cells(Rows.Count, 1).End(xlUp).Row MyArray = Range(.Cells(10, TNK), .Cells(lRow, TNK)).Value For i = 1 To lRow - 9 If Cells(i, 1) = "晴" Then Cells(i, 1).Font.Color = RGB(0, 176, 80) End If Next また、MyArray(配列)にセルのデータを入れただけと考えたのでしたら、ただの配列に.Font.Colorは使えませんから以下のように Dim MyArray As Variant lRow = .Cells(Rows.Count, 1).End(xlUp).Row MyArray = Range(.Cells(10, TNK), .Cells(lRow, TNK)) For i = 1 To lRow - 9 If MyArray(i, 1) = "晴" Then .Cells(i + 9, TNK).Font.Color = RGB(0, 176, 80) End If Next

関連するQ&A