私は現在Excel 2010を使用していますが、アプリケーション用にVBAに組み込んだコードを実行しようとしています(alt + F11を押した後)。私が作業したいプロジェクトをダブルクリックした後に表示されるメモ帳にコードを入力しました。 Excel Macro Enabled Workbook(* .xlsm)としてすべて保存しました。Excel 2010 VBAコードが実行されていません
S、T、およびUの列が基準を満たしている場合、列Dの背景を緑色または赤色に色付けしようとしています。列の値がすべて0の場合、セルDは緑色になります。そうでない場合は、赤色に着色してください。
Sub GreenOrRed()
Dim i As Integer
For i = 2 To i = 27293
If (Cells(i, "S").Value = 0 And Cells(i, "T").Value = 0 And Cells(i, "U").Value = 0) Then
Cells(i, "D").Interior.ColorIndex = 10
Else
Cells(i, "D").Interior.ColorIndex = 9
End If
Next i
End Sub
コードは実行され、エラーは発生しませんが、何も行われません。私は間違って何をしていますか?
なぜ、** For **ループが有効だが何もしなかった理由を理解できるように...あなたのステートメントは効果的に 'For i = 2 To(i = 27293)'です。ループの初期化において、「i」は0であるので、「i = 27293」は「False」に等しい。 'False'は' Integer'に強制されると0になるので、あなたの文は 'For i = 2 To 0'になります。 2はすでに0より大きいので、コントロールは直ちに 'Next i 'の後のステートメントにジャンプします。 – YowE3K
ねえ皆さん、ありがとうございます。私の問題は、すべてのセルの前に「ワークシート(シート)。セル」を置いていないということでした。私がそれをした後、私は私のものを働かせることができました。私はまた、関数をForループからWhileループに変更しました。 – fantomknight1