返回列表 上一主題 發帖

[發問] 搜尋、比對,再複製過來的功能

回復 3# Kubi


    哇~~ 你這個還可以自動開另外的檔案,然後還可以自動關檔
   太棒了啦,這招我一定要學起來
   感謝您的分享,功能完全符合我的需求
    而且不需要寫很多行就搞定了
    我光是陣列那邊就不行了....
    再次感謝
哈囉~大家好呀

TOP

回復 2# jeffrey628litw


    感謝您的回覆,因為我的資料是在不同的檔案中,所以發問才會使用不同檔案
   我會再自己試看看的,謝謝您
哈囉~大家好呀

TOP

回復 1# iceandy6150
請參考
  1. Private Sub CommandButton1_Click()
  2.     Dim arr
  3.     Dim brr()
  4.     Dim d As Object
  5.     Set d = CreateObject("Scripting.Dictionary")
  6.     Application.ScreenUpdating = False
  7.     ar = Array("資料.xlsx", "尺寸.xlsx")
  8.     For Each book In ar
  9.         Workbooks.Open ThisWorkbook.Path & "\" & book
  10.         arr = ActiveSheet.[A1].CurrentRegion
  11.         ActiveWorkbook.Close 0
  12.         For i = 2 To UBound(arr)
  13.             For j = 2 To UBound(arr, 2)
  14.                 d(arr(i, 1) & arr(1, j)) = arr(i, j)
  15.             Next j
  16.         Next i
  17.     Next book
  18.     arr = ActiveSheet.[A1].CurrentRegion
  19.     ReDim brr(1 To UBound(arr) - 1, 1 To UBound(arr, 2) - 1)
  20.     For i = 2 To UBound(arr)
  21.         For j = 2 To UBound(arr, 2)
  22.             brr(i - 1, j - 1) = d(arr(i, 1) & arr(1, j))
  23.         Next j
  24.     Next i
  25.     [B2].Resize(UBound(brr), UBound(brr, 2)) = brr
  26.     Application.ScreenUpdating = True
  27.     Erase brr
  28.     Set d = Nothing
  29.     arr = ""
  30. End Sub
複製代碼
注意:本程式會自動開啟兩個資料檔來比對,因此執行前不需先開啟資料檔案。

TOP

回復 1# iceandy6150


    放同一個檔案中可以嗎?

這2個檔案你參考一下,裡面設條件位置不同,你可以自己參考VBA研究如何修改放條件的位置。


VBA - 設多條件從資料庫中撈出結果(常用).rar (21.76 KB)

TOP

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