2016-10-10 22 views

回答

0

只是改变答:到任何列列表中,并更改目的地:)

Sheet1.range("A:A").SpecialCells(xlCellTypeVisible).Copy Destination:=Sheet2.Range("A1") 

PS无论你正在寻找下一次只是谷歌Excel VBA中,它给我带来这里

https://stackoverflow.com/a/13956899/6868389

+1

好了,我的问题是不关于vba。我的问题是关于使用普通的Excel公式。我知道人们用Small和其他公式做不同的技巧。想想,也许有人在这里得到了一个解决方案。 我先做谷歌,请相信我。 – ggv

0

说我们有,我们要筛选列一个数据。在C2输入:

=IF(SUBTOTAL(3,B2:B2)=0,MIN($C$1:C1)-1,SUBTOTAL(3,$B$2:$B2)) 

抄下:

enter image description here

如果我们筛选列2' S,我们看到:

enter image description here

即使过滤了,列C仍然显示简单的顺序序列。使用MATCH()INDEX()我们现在可以轻松地检索可见行的数据:

Sheet2细胞A1输入:

=IFERROR(INDEX(Sheet1!A$1:A$22,MATCH(ROWS($1:1),Sheet1!C$1:C$22,0)),"") 

抄下:

enter image description here

我们可以检索来自其他列的信息以相同的方式。

另一个不错的地方张贴这样的非编程的问题是:

superuser

+0

是的,非常好。正是我在找什么。谢谢! – ggv

相关问题