返回列表 上一主題 發帖

利用陣列來複製貼上??

回復 1# jasonwu0114


   
假如有A1~50個檔案 (還是工作表 )
要複製每個檔案的RANGE(“A1:C20”)再加上一列D1~20=X  什麼意思
=>要複製 A1:D20  對嗎?
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# Hsieh
  1. Option Explicit
  2. '將50個檔案資料寫入陣列再一次貼到檔案B
  3. Sub Ex()
  4.     Dim Wb(1 To 2) As Workbook, AR(), S As Integer, E As Range
  5.     Set Wb(1) = Workbooks("檔案B")  '更正為檔案B的名稱
  6.     For Each Wb(2) In Workbooks  '50個檔案已開啟 含 檔案B
  7.         If Wb(2).Name <> Wb(1).Name Then
  8.         For Each E In Wb(2).Sheets(1).[A1:C20].Rows
  9.             ReDim Preserve AR(1 To 4, 0 To S)
  10.             AR(1, S) = E.Cells(1)
  11.             AR(2, S) = E.Cells(2)
  12.             AR(3, S) = E.Cells(3)
  13.             AR(4, S) = Date
  14.             S = S + 1
  15.         Next
  16.         End If
  17.     Next
  18.     With Wb(1).Sheets(1).[a1]  '檔案B
  19.         .CurrentRegion = ""
  20.         .Resize(S, 4) = Application.WorksheetFunction.Transpose(AR)
  21.     End With
  22. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題