VBA循环和过滤问题

时间:2018-09-14 17:43:36

标签: excel loops

我在工作簿中循环浏览选项卡时遇到问题。我正在处理的代码应该执行以下操作:

  • 浏览所有工作表,但标题为“ BOAT”和“ Data”的工作表除外
  • 在要循环访问的每个工作表中选择单元格“ A2”(A2包含要过滤的值),并将其用作“数据”标签的自动过滤器值
  • 然后将过滤的数据复制并粘贴到正在循环的各个选项卡中。

我遇到的问题是我的代码没有在循环中的活动表上获取。有没有办法为当前正在循环通过的工作表创建变量?

下面的代码。谢谢!

  Sub updatedata()
Dim ws As Worksheet
Dim wsheet2 As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    If ws.name <> "BOAT" And ws.name <> "Data" Then

        Call filter1

    End If
    Next ws


End Sub

Sub filter1()

Dim lastrow As Long
Dim lastrow2 As Long
Dim wSheet As Worksheet
Dim rInput As String

Application.DisplayAlerts = False

Set wSheet = ActiveSheet
rInput = wSheet.Range("A2").Value

Sheets("Data").Activate
lastrow = Range("A" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("A1:Y" & lastrow).AutoFilter field:=4, Criteria1:="=*" & rInput & "*"

lastrow2 = Range("G" & Rows.Count).End(xlUp).Row
Range("G1:G" & lastrow2).Copy
wSheet.Activate
Range("A4").PasteSpecial xlPasteValues
Rows(4).EntireRow.Delete

Application.DisplayAlerts = True

End Sub

0 个答案:

没有答案