只用于复制和粘贴可见单元格的macros

有没有人碰巧有一个macros将这样做? 我只需要复制一列可见的单元格,并粘贴到下一列。 我很抱歉,如果这是一个愚蠢的问题,但我只是碰巧对这个东西一无所知。 我已经看到了每一个地方,但我找不到一个似乎工作。 我有一个去,但它只复制一些数字。

这是代码

Sub TryMe() Sheet1.Range("A1:A100").SpecialCells(xlCellTypeVisible).Copy _ Destination:=Range("A1").Offset(ColumnOffset:=1) End Sub 

在这里输入图像说明

^上面的图像是我运行macros之前。 注意隐藏的行。 我需要这些数字复制到下一列。

在这里输入图像说明

^这个图像是我运行macros后。 我不明白为什么只有一些数字是复制。 隐藏的行包含数字3和6.为什么他们在结果,但不是可见的数字? 我只是需要它来复制所看到的。

即使您手动执行,也无法这样做。
你将不得不循环获取你想要的。 所以试试这个吧。

 Dim c As Range For Each c In Sheet1.Range("A1:A100").SpecialCells(xlCellTypeVisible) If Len(c) <> 0 Then c.Offset(0, 1) = c Next 

关于你的结果奇怪的是为什么它以相反的顺序复制值。
我可以理解它是否复制B1以后的所有可见单元格,而不是数值的逆转。
无论如何,如果它让你去,先试试。

我不知道你如何有相反的顺序输出,但对我来说你的代码工作:

 Sub TryMe() '1. some visible values in col A will be will be hidden in col B by hidden rows Sheet1.Range("A1:A10").SpecialCells(xlCellTypeVisible).Copy _ Destination:=Range("A1").Offset(ColumnOffset:=1) '2. all visible values in col A will be will be visible bellow Sheet1.Range("A1:A10").SpecialCells(xlCellTypeVisible).Copy _ Destination:=Range("A11").Offset(ColumnOffset:=1) End Sub 

在这里输入图像说明