excel - 使用vba在excel中过滤行中的单元格值
问题描述
我有一个 excel 文件,我在其中使用了特定列上的过滤器。之后它返回了 3 个可见行。现在我想从同一列的可见 3 行中提取一个单元格值。如何为此编写vba代码。
注意:我正在使用 UFT、vb 脚本来连接 excel 应用程序。
Environment.value("Path1")="C:Test\Data1\"
Environment.value("FileName")="ExcelTest.xlsx"
Set obj = CreateObject("Excel.Application")
obj.visible=True
Set obj1 = obj.Workbooks.Open(Environment("Path1")&Environment("FileName"))
Set obj2=obj1.Worksheets("RESULT")
obj2.Range("L1").Autofilter 12,"abcdef"
obj2.Range("A1").Autofilter 1,Array("Bucket",2,"Material","Flags"),7
rows=obj2.usedrange.columns(1).specialcells(12).count-1
解决方案
如果您只想使用可见单元格。
当然,您在 A 列上进行过滤以适应您的数据的示例:
Sub test()
Dim ws As Worksheet
Dim i As Long, LastRow As Long
Dim r As Range, Cell As Range, Range As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
Set r = ws.Range("A1")
ws.AutoFilterMode = False
With r
.AutoFilter Field:=1, Criteria1:="Yourcriteria"
LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
Set Range = ws.Range(ws.Cells(2, 1), ws.Cells(LastRow, 1))
For Each Cell In Range.SpecialCells(xlCellTypeVisible)
'whatever you need to be done
Next Cell
End With
ws.AutoFilterMode = False
End Sub
推荐阅读
- protractor - 将参数传递给 browser.get - 量角器
- c++ - Winsock - 两次接收数据包
- javascript - 获取数据并将数据转换为 CSV 并下载
- javascript - 当 div 重叠时使用混合混合模式更改文本颜色
- django - 如何确定获得 NoReverseMatch 的原因
- authentication - 使用 CloudFormation 在机器启动期间添加用户
- deployment - UWP:AppPackages 中的文件夹与包系列名称不同
- apache-kafka - 消费者“group_name”组正在永远重新平衡
- oracle - Oracle 使用拒绝无限条款
- swift - 可跨越的日期