Board logo

標題: 不同欄位複製到另一工作表 [打印本頁]

作者: mdr0465    時間: 2021-1-20 12:32     標題: 不同欄位複製到另一工作表

各位大大,你好

因為我每次入存庫都要由網上下載一個空白的模板重新輸入資料, 如果我想從"Inventory(test)" 的檔案複製資料到"Inventory-12-29-16-12blank"這個檔案, 但當中有一些欄位名稱次序是不同的, 我只做到相等名稱可以複製, 但如果要做到完全對應,應怎樣修改呢? 還有一點, 如果我想程式寫成, 可自行選取剛下載空白模板應怎樣修改呢??

謝謝
作者: 軒云熊    時間: 2021-1-20 23:52

回復 1# mdr0465

有空幫我試試看是不是這樣 感謝
  1. Public Sub 跨工作簿練習()
  2.     Application.ScreenUpdating = False
  3.    
  4.     Arr = [A1].CurrentRegion
  5.     Workbooks.Open ThisWorkbook.Path & "\Inventory-12-29-16-12blank.xlsx"
  6.     Workbooks("Inventory-12-29-16-12blank.xlsx").Activate
  7.    
  8.     For X = 2 To UBound(Arr)
  9.         Cells(X, 1) = Arr(X, 1)
  10.         Cells(X, 2) = Arr(X, 3)
  11.         Cells(X, 6) = Arr(X, 6)
  12.         Cells(X, 10) = Arr(X, 10)
  13.         Cells(X, 18) = Arr(X, 18)
  14.         Cells(X, 19) = Arr(X, 19)
  15.     Next X

  16.     Workbooks("Inventory-12-29-16-12blank.xlsx").Close True

  17.     Application.ScreenUpdating = True
  18. End Sub
複製代碼

作者: mdr0465    時間: 2021-1-21 09:23

回復 2# 軒云熊


軒師兄,你好:

謝謝你的回覆和幫忙, 但有一些問題想請你再幫忙

因為我每次都要下載最新的版本(Inventory-12-29-16-12blank)輸入資料, 而A列的名稱有可能會改變,能否做到A欄名稱改變了, 原有固定已輸入模板的資料(Inventory(test))可以隨著最新版本的格式而自動配對正確位置呢?

還有一樣是因為程式是預設特定的檔案名稱, 請問能否做到一個功能類似開啟檔案模式一樣,每次都可以自行選取某一個檔案來複製資料呢??

萬分感激幫忙, 謝謝
作者: jcchiang    時間: 2021-1-21 13:21

回復 3# mdr0465

用軒大的程式修改
Sub ex1()
Dim d As Object, X%, Y%
Set d = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
Arr = [a1].CurrentRegion
For Each a In Range([a1], [a1].End(2))
   d(a.Value) = a.Column                      '紀錄"Inventory(test)"各名稱的欄位值
Next
Workbooks.Open ThisWorkbook.Path & "\Inventory-12-29-16-12blank.xlsx"
Workbooks("Inventory-12-29-16-12blank.xlsx").Activate
For X = 2 To UBound(Arr)
   For Y = 1 To [a1].CurrentRegion.Columns.Count
      Cells(X, Y) = Arr(X, d(Cells(1, Y).Value))   '利用"Inventory-12-29-16-12blank"的名稱判斷"Inventory(test)"資料欄位值
   Next Y
Next X
Workbooks("Inventory-12-29-16-12blank.xlsx").Close True
Application.ScreenUpdating = True
End Sub

還有一樣是因為程式是預設特定的檔案名稱, 請問能否做到一個功能類似開啟檔案模式一樣,每次都可以自行選取某一個檔案來複製資料呢??
-->是程式自行開啟Inventory(test)再將資料複製於Inventory-12-29-16-12blank嗎??
作者: mdr0465    時間: 2021-1-21 15:02

回復 4# jcchiang

是複製到另一個我自己選定的檔案可以嗎?謝謝
作者: mdr0465    時間: 2021-1-21 15:22

回復 4# jcchiang

Jcciang 成功了,謝謝你的幫忙




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)