Vba 无法返回第一个筛选行的行号
我已经尝试了很多方法,但仍然不能得到正确的行号 我有这张桌子,冻结在第4行标题处Vba 无法返回第一个筛选行的行号,vba,excel,Vba,Excel,我已经尝试了很多方法,但仍然不能得到正确的行号 我有这张桌子,冻结在第4行标题处 (Row) Name Car Fee 5 A 333 1000 6 B 111 2000 7 C 222 3000 8 D 111 4000 9 E 222 5000 10 F 111 6000 我做了一个按钮来返回选择范围的行号。在我使用标准111进行筛选之后,
(Row) Name Car Fee
5 A 333 1000
6 B 111 2000
7 C 222 3000
8 D 111 4000
9 E 222 5000
10 F 111 6000
我做了一个按钮来返回选择范围的行号。在我使用标准111进行筛选之后,该表将显示第6、8、10行
当我从第6行选择到另一行时,代码运行良好。但如果我只选择第6行,它就会变成错误。仅无限返回第1行
代码可以很好地实现这一点:
错误-无限行1:
按钮VBA代码:
Private Sub msg_Click()
Dim rng As Range, eaR As Range
Set rng = Selection
For Each eaR In rng.Rows.SpecialCells(xlCellTypeVisible)
MsgBox eaR.Row
Next eaR
End Sub
[已解决]另一个问题是,如果我在一行中选择两个以上的单元格,则代码返回重复的行号
如果我选择like IMG 1,它将返回6,6,8,8
我能做什么?它只会返回6,8
请帮帮我。非常感谢
**注意:我需要使用选择范围,因为我将只使用筛选数据中的一些行来执行操作。像这样尝试一下
Private Sub msg_Click()
Dim rng As Range, eaR As Range
Set rng = Selection
For Each eaR In rng
If Not eaR.Rows.Hidden Then MsgBox eaR.Row
Next eaR
End Sub
非常感谢你。它工作得很好。虽然行数重复返回的问题尚未解决。Set rng=Selection。Columns1@TimWilliams谢谢你的帮助,但是添加专栏对我来说不起作用。它只返回第一行编号,下一行没有显示。无论如何,我做了一个变通办法,检查数字是否与前一个相同,然后跳过。像这样尝试。。。对于rng.Columns1.Cells中的每个耳朵