我有許多列和標題的工作簿A,我想分開這些數據並根據標題名稱填充到工作簿B(工作簿B有4張不同的預先1)工作簿A(許多列),對列'AN'中的所有唯一值進行過濾(即,列AN具有20個唯一值,但對於每個唯一集各有〜3000行)。VBA,高級過濾工作簿,跨工作表填充到公共列
2)有工作簿B,預填充4列的列,並非全部與工作簿A中的標題相同。以下是填充工作簿A中工作簿A的唯一值及其各自記錄的位置,一個接一個地。
這裏的目標是填充這些4張從工作簿中的數據,通過每一個獨特的列進行排序AN值,其記錄到預填充的工作簿B.
此代碼到目前爲止只過濾我的主要「AN '專欄,只是獲得獨特的價值觀,我需要獨特的價值觀和記錄。
Sub Sort()
Dim wb As Workbook, fileNames As Object, errCheck As Boolean
Dim ws As Worksheet, wks As Worksheet, wksSummary As Worksheet
Dim y As Range, intRow As Long, i As Integer
Dim r As Range, lr As Long, myrg As Range, z As Range
Dim boolWritten As Boolean, lngNextRow As Long
Dim intColNode As Integer, intColScenario As Integer
Dim intColNext As Integer, lngStartRow As Long
Dim lngLastNode As Long, lngLastScen As Long
' Finds column AN , header named 'first name'
intColScenario = 0
On Error Resume Next
intColScenario = WorksheetFunction.Match("First name", .Rows(1), 0)
On Error GoTo 0
If intColScenario > 0 Then
' Only action if there is data in column E
If Application.WorksheetFunction.CountA(.Columns(intColScenario)) > 1 Then
lr = .Cells(.Rows.Count, intColScenario).End(xlUp).Row
' Copy unique values from the formula column to the 'Unique data' sheet, and write sheet & file details
.Range(.Cells(1, intColScenario), .Cells(lr, intColScenario)).AdvancedFilter xlFilterCopy, , r, True
r.Offset(0, -2).Value = ws.Name
r.Offset(0, -3).Value = ws.Parent.Name
' Delete the column header copied to the list
r.Delete Shift:=xlUp
boolWritten = True
End If
End If
'I need to take the rest of the records with this though.
' Reset system settings
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.Visible = True
End With
End Sub
添加樣品圖片
工作簿中的樣品,我想唯一的過濾器的 '工作欄' 讓所有記錄等一起:
工作簿樣品B, 表1(注意會有多張表)。 正如您所看到的,工作簿A已按「作業」列排序。
不確定要如何/行將被過濾並複製到工作簿B工作表。請附上一些工作簿/工作表的示例 – user3598756
@ user3598756,嗨我更新了一些示例,第二張圖片是所需的結果,但跨多個工作表,(標題將預先填充) – Jonnyboi
您是否探索過樞軸表? –