我一直在這一塊上撞了我的頭。VBA許多過濾單元格上的Vlookups
我有一個很大的宏,我在一個文件上做了大量的操作,但被困在做一系列的過濾和vlookups。
這是我得到的一部分。我添加了評論以使其更清晰。
'FILTER ALL 3P VALUES IN ONE COLUMN AND ADD A VALUE IN ALL RESPECTIVE CELLS IN OTHER COLUMN
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
.AutoFilter Field:=22, Criteria1:="*3P*"
.Offset(1).Range("AU1:AU" & Cells(Rows.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
'HERE I SELECT ALL VISIBLE FILTERED CELLS BY COUNTING IN ROW A BECAUSE THESE CELLS ARENT BLANK
.Selection.Value = "3P PROGRAM"
.AutoFilter
End With
'NOW I WANT TO FILTER ROW FOR BLANKS AND THEN FILL THIS RANGE WITH A FORMULA
'HERE IS THE PROBLEM
With ActiveSheet.UsedRange
.AutoFilter Field:=47, Criteria1:="="
.Offset(1).Range("AU1:AU" & Cells(Rows.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
.Selection.FormulaR1C1 = "=VLOOKUP(RC[-38],'[WeeklyData.xlsx]Sheet1'!C8:C16,9,FALSE)"
.AutoFilter
End With
問題出現在vlookup步驟。我想要可見的過濾空白單元格的範圍,以獲取通過vlookup得到的值。每個單元格都應該將一個單元格放在左側38列作爲查找參考。
我找不到一種方法來使配方的工作。我想: -insert vlookup到該過濾範圍, -刪除過濾器(自動過濾器) - 選擇計算列的偏移量爲1的標題並粘貼爲特殊值 - 繼續執行此過程5,6次對於其他列中的空白或無效條目。
有沒有辦法做到這一點? 任何幫助表示讚賞
問:爲什麼你的Vlookup表只有1列寬?那麼在那裏會拋出一個錯誤,並保持公式不起作用。 –
@ Jess-eye-ca - 這是'xlR1C1'單元格範圍參考。它實際上是指'Sheet1'!H:P',它是9列寬。 – Jeeped