获取Excel中所有未隐藏的行

发布于 2024-11-15 13:57:27 字数 128 浏览 2 评论 0原文

有没有办法获取 VBA 中所有行的数组,然后将它们复制到新工作表中?

我假设正确的属性是 rows(index).Hidden,但我不确定如何使用它。

有简单的方法吗? 我的问题主要是我无法将某些内容调暗为行。

Is there a way to get an array of all the rows in VBA and then copy them to a new sheet?

I assume that the correct property is rows(index).Hidden, but I am not sure how to use this.

Is there an easy way?
My problem is mainly that I can't Dim something As Rows.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木格 2024-11-22 13:57:27

选择可见行:

Sheets("yourSheet").Rows.SpecialCells(xlVisible).Copy
Sheets("secondSheet").Range("A1").PasteSpecial xlPasteValues

但实际上您可以将某些内容调暗为行,因为 Rows 属性返回一个范围,因此您只需将变量调暗为范围即可。

如果您想随后清除剪贴板,请使用:

Application.CutCopyMode=False

另请注意,在 Excel 中使用复制和粘贴效率很低。
如果可以的话,您应该将一个范围分配给另一个范围。

To select the visible rows:

Sheets("yourSheet").Rows.SpecialCells(xlVisible).Copy
Sheets("secondSheet").Range("A1").PasteSpecial xlPasteValues

but you actually can Dim something as Rows, because the Rows property returns a Range, so you just Dim your variable as a Range.

If you want to clear your clipboard afterwards use:

Application.CutCopyMode=False

Also note that it's inefficient to use copy and paste in Excel.
You should assign one range to another if you can.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文