Vba 无法使用列()复制超过15列。复制

Vba 无法使用列()复制超过15列。复制,vba,excel,Vba,Excel,这是我的代码片段,正如您所看到的,这是一个简单的逻辑,复制列。但面临一个问题,我不能复制上面的任何列。。。也就是说,P,Q,R等等 但奇怪的是,若我在调试时运行VBA Excel宏,请进入并让它运行。它很好用。有希望让它工作吗?真的被这件事缠住了 非常感谢和感谢。对于我的错误没有真正的答案。但显然,其他一些方法利用最后3行进行过滤。由于代码是由另一组peep完成的,所以我很难深入研究这个问题 但经过无数次调试和几缕头发脱落后,我发现该方法消除了3列。。。所以我所做的是隐藏其他方法播放的少数列,并

这是我的代码片段,正如您所看到的,这是一个简单的逻辑,复制列。但面临一个问题,我不能复制上面的任何列。。。也就是说,P,Q,R等等

但奇怪的是,若我在调试时运行VBA Excel宏,请进入并让它运行。它很好用。有希望让它工作吗?真的被这件事缠住了


非常感谢和感谢。

对于我的错误没有真正的答案。但显然,其他一些方法利用最后3行进行过滤。由于代码是由另一组peep完成的,所以我很难深入研究这个问题

但经过无数次调试和几缕头发脱落后,我发现该方法消除了3列。。。所以我所做的是隐藏其他方法播放的少数列,并使用其他可用列。
它与复制功能无关,也与处理时间无关

如果范围不连续,则使用类似于
联合(.Columns(X),.Columns(GX))
的方法。复制并循环目标。“没有目的地,很难确定你想要完成什么。”吉普德说。我的目标只是将它们从另一个工作簿中的另一张工作表复制到列中。这就是全部。还有其他方法吗?
但奇怪的是,如果我在调试时运行VBA Excel宏,请进入并让它运行。它工作正常。
这意味着您的应用程序需要更多的时间来执行操作。看起来liek有很多数据。请在每次粘贴
后使用
DoEvents
,在复制到
O1
@chrisneilsen Yea的线路上,您似乎有一个额外的
。在删除一些敏感内容时出现了拼写错误。
With ws
    'TROUBLE MAKER BELOW
    'CRIMS Print Header
    .Rows("1:6").Delete
    .Cells.AutoFilter
    .Cells.ClearFormats
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("A1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("B1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("C1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("D1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("E1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("F1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("G1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("H1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("I1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("J1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("K1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("L1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("M1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("N1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("O1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("P1")
    .Columns(X).Copy activeWB.Sheets("SHEET NAME").Range("Q1")
    .AutoFilterMode = False
End With