自动过滤列并使用范围复制和粘贴单元格

时间:2019-11-21 21:27:12

标签: excel vba range autofilter

我无法运行我的代码(我对vba还是陌生的);基本上,我在不同的工作簿中有两个工作表,一个工作表使用代号“ Sheet1” (此表中编写了代码),另一个使用第二个工作簿(命名为 Test2 )使用名为“ Mytest2”

的工作表

我试图过滤 Sheet1 A列,以从“ Mytest2”工作表中查找单元格“ H4” 的值

找到该值并将其过滤后,我想将单元格K1-K10 的值复制并粘贴到,除非它们为空(来自 Sheet1 )。 “ Mytest2” 中已过滤单元格的整行。 例如, “ Sheet1” 的单元格 K1 应该将其值粘贴到“ Mytest2”的单元格B2中, “ Sheet1” 的单元格 K2 应该将其值粘贴到“ Mytest2” 的单元格C2中, “ Sheet1” 的单元格 K3 应该将其值粘贴到“ Mytest2” 的单元格D2中,等等)

有人可以让我知道我在做什么错(不要使用首字母缩写词,我还是很新),请粘贴更正后的代码。谢谢

Private Sub Commanbutton1()

Dim wb As Workbook, S As Long
Set wb = Workbooks.Open("\\schaeffler.com\stratford\DATA\NEA-FBA-P\Projects\SetupSheets\Databases\Test 2.xlsm")

Dim i As Integer
Dim Add As Long
Dim Add2 As Long

For i = 10 To 1
If Sheet1.Range("Ki").Value <> "" Then
wb.Sheets("Changes").Range("A1").AutoFilter Field:=1, Criteria1:=Sheet1.Range("H4")

Add = Sheets("Changes").Range("K1" & Columns.Count).End(xlUp).Column + 1
Add2 = Sheets("Changes").Range("K1" & Rows.Count).End(xlUp).Row + 1

wb.AutoFilter.Range("A1" & Add2).Value = Sheet1.Range("K10" & Add)

Next i


'Removes all filters and shows all data'
ActiveSheet.ShowAllData

End Sub

0 个答案:

没有答案