Vba 过滤一列中的空格,填充另一列中的值
我有一个宏,它可以过滤工作簿中的空格和循环Vba 过滤一列中的空格,填充另一列中的值,vba,excel,Vba,Excel,我有一个宏,它可以过滤工作簿中的空格和循环 Sub Filter() SearchCol = "Branch ID" Dim ws As Object For Each ws In Worksheets Set rng1 = ws.UsedRange.Find(SearchCol, , xlValues, xlWhole) With ws.Range("A2") .AutoFilter field:=rng1.Column, Criteria1:="<>" End Wi
Sub Filter()
SearchCol = "Branch ID"
Dim ws As Object
For Each ws In Worksheets
Set rng1 = ws.UsedRange.Find(SearchCol, , xlValues, xlWhole)
With ws.Range("A2")
.AutoFilter field:=rng1.Column, Criteria1:="<>"
End With
Next ws
End Sub
子过滤器()
SearchCol=“分支机构ID”
将ws设置为对象
对于工作表中的每个ws
Set rng1=ws.UsedRange.Find(SearchCol、xlValues、xlWhole)
带ws.Range(“A2”)
.AutoFilter字段:=rng1.Column,标准1:=“”
以
下一个ws
端接头
完成此操作后,我现在要搜索另一列,应用此筛选器,并用的值填充该列中的所有单元格,然后尝试下一列:
Sub test()
Dim SearchCol As String
Dim rng1 As Range
Dim rng2 As Range
Dim ws As Worksheet
SearchCol = "ID"
For Each ws In Worksheets
Set rng1 = ws.UsedRange.Find(SearchCol, , xlValues, xlWhole)
Set rng2 = ws.UsedRange.Find("Amount", , xlValues, xlWhole)
If Not rng1 Is Nothing Then
With ws
.Range("A2").AutoFilter field:=rng1.Column, Criteria1:="<>"
.Range("A2").AutoFilter field:=rng2.Column, Criteria1:="<4"
On Error Resume Next
lastRow = .Cells(.Rows.Count, rng2.Column).End(xlUp).Row
.Range(.Cells(rng2.Row + 1, rng2.Column), .Cells(lastRow, rng2.Column)).SpecialCells(xlCellTypeVisible).Interior.Color = RGB(255, 0, 0)
On Error GoTo 0
End With
End If
Next ws
End Sub
子测试()
以字符串形式显示
变暗rng1 As范围
变暗rng2 As范围
将ws设置为工作表
SearchCol=“ID”
对于工作表中的每个ws
Set rng1=ws.UsedRange.Find(SearchCol、xlValues、xlWhole)
设置rng2=ws.UsedRange.Find(“金额”,xlValues,xlother)
如果不是,那么rng1什么都不是
与ws
.Range(“A2”)。自动筛选字段:=rng1.Column,标准1:=“”
.Range(“A2”).AutoFilter字段:=rng2.Column,Criteria1:=“我想我需要定义一个rng2,不是吗?第二个autofilet中的字段应该是rng2吗?”?