2016-12-28 70 views
-3

我有一長串值越來越長的值。它包含與基於按鈕分配值的機器數據推動,值是-1,0,1,2遍歷列表並找到某些值VBA

enter image description here

每次機正在執行一個操作時,它分配一個唯一的編號,以它。如果按下「測試」按鈕,它將給出值-1,並將來自之前操作的唯一編號分配給此「測試」。這是因爲測試不算作操作。圖片中的示例編號331。

我想從我的數據中創建一個報告,我希望它的格式如下。

enter image description here

我爲此需要將通過整個列表(約2000個細胞現在)可以去一個VBA代碼和移動值設置到新的工作表。

到目前爲止,我試圖將包含我需要的值的區域複製到新工作表,然後使用此公式移動每個數字。

Worksheets("Sheetname").Cells(NewRow + 2, 2).Value = Range("button").Value 
+2

那麼你有什麼嘗試?你特別的問題是什麼? – Prisoner

回答

1

我希望我能說清楚這個問題。下面的代碼可能不是最乾淨的,但它的工作原理。我認爲開始 - >停止總是具有相同的步數並始終以相同的順序。

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 
+0

像這樣使用'Select'是很麻煩的。也許你可以有一個不同的情況數組,然後根據數組中字符串的位置確定列? – CallumDA

+1

@CallumDA你的意思是這樣嗎?看到我更新的答案。 – Mick17

+0

是的,這樣好多了 – CallumDA