返回列表 上一主題 發帖

[發問] 比對後再搬移資料

[發問] 比對後再搬移資料

我只要把資料搬移到B檔的欄位,而不是要搬移新的檔案,有誰可以教我修改?

Sub TEST()
  Dim ar, r As Long, i As Long
  Dim cIndexOld, cIndexNew, arNewHeader
  Dim f
  
  cIndexOld = Array(4, 5) 'A檔案中要搬動的欄
  cIndexNew = Array(4, 5)  '搬到B檔位置(欄號)
  arNewHeader = Array("新戶籍地址", "新通訊地址") 'B檔標題名稱
  
  f = Application.GetOpenFilename(FileFilter:="Excel 活頁簿 (*.xls),*.xls", Title:="選擇來源檔案")
  If Not TypeName(f) = "String" Then Exit Sub '取消則結束
  
  Application.ScreenUpdating = False
  With Workbooks.Open(f)
    With .Sheets(1)
      ar = .Range("A2:E" & .[A2].CurrentRegion.Rows.Count).Value
    End With
    .Close False
  End With
  Application.ScreenUpdating = True
  
  r = UBound(ar)
  With Workbooks.Add
    With .Sheets(1)
      For i = LBound(cIndexOld) To UBound(cIndexOld)
        .Cells(1, cIndexNew(i)).Resize(r).Value = Application.WorksheetFunction.Index(ar, 0, cIndexOld(i))
        .Cells(1, cIndexNew(i)).Value = arNewHeader(i)
      Next

    End With
  End With
  

   
End Sub

回復 2# GBKEE


    是要比對A、B檔案的A、B欄位後,比對到一樣的,在搬移A檔案的D、E欄位資料到B檔案的D、E欄位裡。
   小弟的文法很爛,表達不清,SORRY!
戶籍範例.rar (4.29 KB)

TOP

回復 4# GBKEE


    那個我要對比的資料有五萬多筆,所以沒辦法執行耶.....

TOP

回復 6# GBKEE


   沒有反應

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題