返回列表 上一主題 發帖

[發問] 在同一列同時比對兩欄資料方法

我主要是想知道該列的位置,然後擷取某幾個欄位的資料填到別的欄位上假面超人 發表於 2012/8/2 00:24

上傳檔案來看看

TOP

回復 9# 假面超人
依據你的檔案 寫下進階篩選的程式
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 2) As Range
  4.     Set Rng(1) = Sheet1.Range("a1").CurrentRegion   '進階篩選: 準則範圍  取得為 Sheet1[A1:A3]
  5.     Set Rng(2) = Sheets("最終結果").Range("A1").CurrentRegion
  6.     Rng(2) = ""                                     '清理先前篩選的資料
  7.     Rng(1).Rows(1).Copy Rng(2).Cells(1)             '複製 準則的欄位
  8.     '試試看將上一行程式碼註解不執行看看
  9.     '進階篩選 : 複製到目的範圍 第1列有那些資料庫的欄位 就顯示那些資料
  10.     '如空白 會顯示全部欄位的資料
  11.     Sheet2.Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, Rng(1), Rng(2).CurrentRegion
  12. End Sub
複製代碼

TOP

回復 13# 假面超人
  1. Option Explicit
  2. Sub Ex() '有多於2個以上的工作表要篩選
  3.     Dim Rng(1 To 3) As Range, a As Integer, Sh_Count As Integer
  4.     Sh_Count = Sheets.Count   '此活頁簿中工作表的總數
  5.     Set Rng(1) = Sheets(1).Range("a1").CurrentRegion   '進階篩選: 準則範圍  取得為 Sheet1[A1:A3]
  6.     'Set Rng(2) = Sheets("最終結果").Range("A1").CurrentRegion  '改為此活頁簿中最後的工作表
  7.     Set Rng(2) = Sheets(Sh_Count).Range("A1").CurrentRegion
  8.     Rng(2) = ""                                     '清理先前篩選的資料
  9.     Rng(1).Rows(1).Copy Rng(2).Cells(1)             '複製 準則的欄位
  10.     For a = 2 To Sheets.Count - 1
  11.         Sheets(a).Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, Rng(1), Rng(2).Cells(1).Resize(1, Rng(1).Columns.Count)
  12.         Set Rng(2) = Rng(2).Cells(1).End(xlDown).Offset(1) '複製到目的範圍 往下移動
  13.         If a <> Sheets.Count - 1 Then Rng(1).Rows(1).Copy Rng(2).Cells(1)
  14.         If Rng(3) Is Nothing Then             '紀錄複製第2個工作表以後的複製到目的範圍欄位 第一列位置
  15.             Set Rng(3) = Rng(2).Cells(1).Resize(1, Rng(1).Columns.Count)
  16.         Else
  17.             Set Rng(3) = Union(Rng(3), Rng(2).Cells(1).Resize(1, Rng(1).Columns.Count))
  18.         End If
  19.     Next
  20.     If Not Rng(3) Is Nothing Then Rng(3).Delete xlUp  '刪除 紀錄複製第2個工作表以後的複製到目的範圍欄位 第一列位置
  21. End Sub
複製代碼

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題