我认为有一个简单的解决方案,但我无法弄明白。
我有一个已过滤的列表,我试图复制并将我选择的可见行粘贴到另一个工作表。我在两个单独的块中粘贴,所以我不能一次粘贴整行。
我正在使用这样的东西。我选择了几行,并且我想运行此宏来复制A1150:E1197,仅抓取可见行,然后复制F1150:L1197。如果它不需要E作为选择的列,那将是最好的。
我的初始设计使用了每个循环。对于每一行,它复制左侧块,切换到另一个工作表并粘贴,冲洗并重复右侧块。它最终变得非常缓慢,大约需要15秒才能达到10行左右。我相信在工作簿之间切换是减慢速度的主要部分,所以我现在试图一次性复制左右块。
感谢任何帮助!
答案 0 :(得分:0)
感谢Marcucciboy2的建议。
以下是我用于复制左侧块的代码,然后是右侧块的不同列。
Private Function CopyBlocks()
Dim firstRow As Integer
Dim lastRow As Integer
firstRow = ActiveCell.row
lastRow = ActiveCell.row + Selection.Rows.Count - 1
'copy left block
Range("A" & firstRow, "E" & lastRow).SpecialCells(xlCellTypeVisible).Copy
'Switch workbooks & paste
'copy right block
'switch workbooks and paste
End Function