我需要根據編號格式將數據從1 excel移動到另一個excel。舉一個例子我已經樣品TEST1 Excel作爲每下面:Excel VBA - 基於編號移動數據
test1.xlsx
EName| Sal | ID | Tel | Add | Depart | Pos |
------------------------------------------------------------
John | 10000 | 123| NA | NY | Finance | Manager |
------------------------------------------------------------
1 | 5 | 2 | | | 3 | 4 |
列布置在數字。在這種情況下,我需要將我的數據移動到另一個excel test2並粘貼編號格式。
test.xlsx
Name | ID | Department | Level |Position | Salary |
1 | 2 | 3 | | 4 | 5 |
John | 123| Fiinanace | NA |Manager | 10000 |
值用於由編號標識每一列。 我該如何做到這一點。任何建議/參考非常感謝。謝謝
Sub startGenerateExcel()
Path1 = Range("F4").Value
Path2 = Range("F6").Value
Dim wbSource As Workbook
Dim wbDest As Workbook
Dim rngSource As Range
Dim rngDest As Range
Dim colNum As Integer
Dim colDest As Integer
Dim cl As Range
Set wbSource = Workbooks(Path1)
Set wbDest = Workbooks(Path2)
Set rngSource = wbSource.Sheets("Sheet1").Range("A1:G3") 'Modify as needed
Set rngDest = wbDest.Sheets("Sheet1").Range("A1:F3") 'Modify as needed
For Each cl In rngSource.Rows(2)
colNum = cl.Offset(1, 0).Value
colDest = Application.Match(colNum, rngDest.Rows(3), False)
rngDest.Cells(2, colDest).Value = cl.Value
Next
End Sub
爲什麼不直接使用公式引用回到原來的表新表?新工作表第1列中的公式將引用舊工作表中的名稱列,第2列中的公式將引用id列等。將公式複製到數據底部後,只需複製公式塊並將其作爲值粘貼到位。如果無論出於何種原因,您必須在VBA中執行此操作,請考慮「數組」。 – chuff
@chuff我不允許編輯輸出文件。輸出文件不應包含任何公式或任何宏。我創建另一個Excel文件,用戶需要爲輸入文件提供路徑。 –