语法/循环错误

我正在编写一个嵌套的循环来运行我有一个表的每个单元格(行,然后列)。 每个单元格都有一个不同的“组合”,它必须相等,如果它与我在另一个工作表上引用的值相匹配,它将从同一行取一个值(在Analysis工作表中指定),并将其返回到此表中。 这是我的代码。 我在更大的If语句中遇到错误。 任何帮助表示赞赏。 谢谢!

更新的代码,除了if语句中的最后一个“And …”之外的所有作品。 没有它,代码运行,但不正确(由于显而易见的原因)。 当我把它收回来,excel冻结,它永远不会结束运行。 请帮忙。

私人小组Worksheet_Change(BYVAL目标作为范围)

Dim i,j,k,m,n As Long

工作表(“图表数据”)范围(“C6:DR10000”)。值=“”

j = 3

Do Until Worksheets("Chart Data").Cells(4, j).Value = "" For i = 4 To Worksheets("Chart Data").Cells(Rows.Count, "A").End(xlUp).Row k = i + 3 m = i + 2 n = 1 ThisWorkbook.Sheets("Running Avg Log").Activate ' If the current row in running avg log doesnt meet this if statement criteria, it skips & increments iw/o doing anything If Worksheets("Running Avg Log").Cells(i, 2).Value = 1 _ And Worksheets("Running Avg Log").Cells(i, 3).Value = n _ And Worksheets("Running Avg Log").Cells(i, 4).Value = 1 _ And Worksheets("Running Avg Log").Cells(i, 1).Value = Worksheets("Chart Data").Cells(k, 2).Value Then ' When if statement is entered, this sets the selected dimension # in this accepted row and puts it into corresponding spot in chart data Worksheets("Chart Data").Cells(m, j).Value = Worksheets("Running Avg Log").Cells(i, 6 + Worksheets("Analysis").Range("C5").Value).Value n = n + 1 End If Next i ' j (column number) will increment across after each row in one column is done, testing the entire table j = j + 1 Loop 

结束小组

工作表中代码将input值

表中find值。 如果语句查找date以及date之后的三个值。 如果它们与我想要的匹配,则返回同一行中的维数中的一个。 维度号是分析工作表中选定的下拉菜单单元格,可以使用If语句中的行中显示的单元格进行引用。

以下更新的一段代码工作,没有抛出错误。 但是,不知道你想要做什么代码? 你的桌子的价值在哪里? 你想把它们放在哪里?

尝试附上您正在尝试获取的所需工作表结果的屏幕截图。

 Sub GraphLoop() Dim i, j, k, m As Long Worksheets("Chart Data").Range("C6:DR10000").Value = "" j = 3 Do Until Worksheets("Chart Data").Cells(4, j).Value = "" For i = 4 To Worksheets("Chart Data").Cells(Rows.count, "B").End(xlUp).row ' modify according to your Column k = i + 3 m = i + 2 ThisWorkbook.Sheets("Running Avg Log").Activate ' If the current row in running avg log doesnt meet this if statement criteria, it skips & increments iw/o doing anything If Worksheets("Running Avg Log").Cells(i, 2).Value = 1 _ And Worksheets("Running Avg Log").Cells(i, 3).Value = 1 _ And Worksheets("Running Avg Log").Cells(i, 4).Value = 1 _ And Worksheets("Running Avg Log").Cells(i, 1).Value = Worksheets("Chart Data").Cells(k, 1).Value Then ThisWorkbook.Worksheets("Chart Data").Activate ' When if statement is entered, this sets the selected dimension # in this accepted row and puts it into corresponding spot in chart data Worksheets("Chart Data").Cells(m, j).Value = Worksheets("Running Avg Log").Cells(i, 6 + Worksheets("Analysis").Range("C5").Value).Value End If Next i ' j (column number) will increment across after each row in one column is done, testing the entire table j = j + 1 Loop End Sub