我有很长的值列表,每天都会变得越来越长。它包含来自机器的数据,该机器根据按下的按钮分配值,值为-1,0,1,2。
每次机器执行操作时,都会为其分配一个唯一编号。如果按下“test”按钮,则它给出值-1,并将前一操作中的唯一编号分配给该“测试”。这是因为测试不算作操作。示例中的图号331。
我命令根据我想要的数据创建一个报告,格式如下所示。
因此我需要一个VBA代码,它将遍历整个列表(现在约为2000个单元格)并将值移动到新工作表上。
到目前为止,我已尝试将包含我需要的值的区域复制到新工作表中,然后使用此公式移动每个数字。
Worksheets("Sheetname").Cells(NewRow + 2, 2).Value = Range("button").Value
答案 0 :(得分:1)
我希望我能够理解这个问题。以下代码可能不是最干净但可行的。我假设start-> stop始终具有相同的步数,并且总是以相同的顺序。
Sub test2()
Application.ScreenUpdating = False
For i = 1 To 20000
For j = 1 To 9
nextfree = WorksheetFunction.CountA(Range("A:A")) + 1
If Sheets("sheet1").Range("A" & i).Value = Sheets("sheet2").Cells(1, j).Value Then
Sheets("sheet2").Cells(nextfree, j).Value = Sheets("sheet1").Range("C" & i).Value
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub