私は、プロジェクトの予定日とカレンダーに一致する日付のレポートをチェックして、一致するセルを強調表示し、月の右側の2列にプロジェクトを作成します。Excel VBA - 水平範囲をループ内で1行下に移動する方法
私は今年12ヶ月間、これを週ごとに行っています。だから、毎週これを行うのではなく、コードを1週間、5回ループするループを作りたいと思っています。それからそれを12ヶ月間繰り返すループの中に入れてください。私は今月の最初の週のコードを持っていて、範囲に変数 "x"を追加したいので、1週間後に範囲に1を加えて、次の週に1行移動します。私は範囲に "x"を入れる方法を見つけることができませんでした。
すべてのヘルプはここには理解されるであろうが、私が持っているコードです:
'for january
Set januaryRng = ActiveSheet.Range("A2:G2")
i = 2
For x = 0 to 4
For Each cell In januaryRng
If cell <> "" Then
For i = 2 To lastRow
If cell.Value = Sheets("Incident Summary Report").Cells(i, "AI").Value Then
Sheets("sheet1").Cells(2 + x, "I") = Sheets("sheet1").Cells(2 + x, "I") & Chr(10) & Sheets("Incident Summary Report").Cells(i, "B").Value
ElseIf cell.Value = Sheets("Incident Summary Report").Cells(i, "AJ").Value Then
Sheets("sheet1").Cells(2 + x, "I") = Sheets("sheet1").Cells(2 + x, "I") & Chr(10) & Sheets("Incident Summary Report").Cells(i, "B").Value
End If
If cell.Value = Sheets("Incident Summary Report").Cells(i, "AI").Value Then
Sheets("sheet1").Cells(2 + x, "H") = Sheets("sheet1").Cells(2 + x, "H") & Chr(10) & Sheets("Incident Summary Report").Cells(i, "AI").Value
ElseIf cell.Value = Sheets("Incident Summary Report").Cells(i, "AJ").Value Then
Sheets("sheet1").Cells(2 + x, "H") = Sheets("sheet1").Cells(2 + x, "H") & Chr(10) & Sheets("Incident Summary Report").Cells(i, "AJ").Value
End If
Next i
Else
End If
Next cell
Next x
私は、シートのサンプルを持たずに何をしようとしているのか分かりません。各行は1週間を表しますか? –
各行が1週間を表す場合は、あなたが上書きしているという問題があると思います。 'For i = 2 To lastRow'を' For i = 2 To endRow step 5'に置き換えて、このループを 'For x = 0 to 4'と交換してみてください。つまり、私は外側のループをループ(ステップ5)し、内側のループをxにします。しかし、私は間違っているかもしれません。 – CMArg