Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 无法返回第一个筛选行的行号_Vba_Excel - Fatal编程技术网

Vba 无法返回第一个筛选行的行号

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进行筛选之后,

我已经尝试了很多方法,但仍然不能得到正确的行号

我有这张桌子,冻结在第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进行筛选之后,该表将显示第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中的每个耳朵