首页 > 解决方案 > 使用 sheet().Range().Value 在 VBA 中引用列

问题描述

我试图避免复制和粘贴以显着加快宏的速度(以前需要两分钟才能运行)。我试图在 Sheetx(A,B,J,L) 中引用四个完整的列,并让它们显示在 sheety(A6,B6,C6,D6) 中。

我尝试了许多变体

Sheets("Sheety").Range("A6:A,B6:B,C6:C, D6:D").Value = Sheets("Sheetx").Range("A:A, B:B, J: J, L:L").值

另外,对于工作表(“sheety”),我倾向于使用 Active.Sheet 或 Sheets(B),因为我使用了工作表的索引号,即

因为 B = 31 31 是实际工作表的索引号。

最近一个小时我一直在寻找答案。任何人都可以帮忙吗?

标签: excelvba

解决方案


告诉我是否有这样的事情:

Sub Testy3()
    Dim N As Long
    N = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
    Sheets("Sheet1").Range("A1:A" & N).Copy Sheets("Sheet2").Range("A6")
End Sub

为你工作。

如果其中的所有列Sheet1都具有相同的行数,那么您不需要为每列重新计算N。


推荐阅读