データの行ごとに1つのテーブルを検索する一連のループをコーディングしていて、その行の正しい仕様を満たしていれば、その行から特定の値を取り出して、別のチャートの別のテーブルに私は、 "For"のない "Next"があるというエラーが出ていますが、(何かが完全に欠けていない限り)存在しています。また、上部にサブラインが強調表示されています(これをマクロとして実行しようとしています)。ここで私が間違っているところを教えてください、ありがとう!ループ構文の問題
Option Explicit
Sub GraphLoop()
Dim i, g, row, color, roundcount, round, materialcount, material As Long
Dim chartdatacol, chartdatarow As Long
Worksheets("Chart Data").Range("C6:DR10000").Value = ""
roundcount = 1
materialcount = 1
color = 1
round = 1
material = 1
chartdatacol = 3
chartdatarow = 6
i = 4
For chartdatacol = 3 To Worksheets("Running Avg Log").Cells(4, cols.Count).End(xlUp).row
Do Until i = Worksheets("Running Avg Log").Cells(Rows.Count, "A").End(xlUp).row
g = 1
If Worksheets("Running Avg Log").Cells(i, 1).Value = Worksheets("Chart Data").Cells(chartdatarow, 2).Value _
And Worksheets("Running Avg Log").Cells(i, 2).Value = round _
And Worksheets("Running Avg Log").Cells(i, 3).Value = color _
And Worksheets("Running Avg Log").Cells(i, 4).Value = material Then
row = chartdatarow
Worksheets("Chart Data").Cells(row, chartdatacol).Value = _
Worksheets("Running Avg Log").Cells(i, 6 + Worksheets("Analysis").Range("C5").Value).Value
chartdatarow = chartdatarow + 1
i = 4
Else
i = i + 1
End If
Loop
color = color + 1
' loops through ten colors
If color > 10 Then
color = 1
End If
roundcount = roundcount + 1
materialcount = materialcount + 1
' every ten columns, material changes, every 30 columns, it repeats
If materialcount = 11 Or 21 Then
material = material + 1
End If
If materialcount > 30 Then
materialcount = 1
material = 1
' each round's 30 combos is 30 columns
If roundcount = 31 Then
round = round + 1
End If
Next chartdatacol
End Sub
であることを、自身の行の2番目の 'Dim'? –
@MattCremeensはい –