如何在循环中仅复制前4列

时间:2019-06-27 21:10:05

标签: excel vba

我正在尝试使用此处找到的代码的一部分从电子表格复制到另一个电子表格,但是在进行一些调整后,我遇到了一个问题,其中将值从sheet1复制到{{1} }当我只需要它复制前4列时,它就复制了所有2000列,也需要复制('TC1')下的所有内容

请注意,TC1将在每个工作表上列出3次。

1)我的履历表是我只想复制前4列 2)TC1的末尾与列(1)上列出的下一个空格之间有2个或更多空格 3)只是复制到达TC1的Lastrow之前的前几行而不是整个列表

sheet2

Source Data Destination

1 个答案:

答案 0 :(得分:1)

您每次都将rngCopy设置为整行。这意味着它将复制该行的所有列。相反,您需要将rngCopy设置为仅包括前4列。您可以使用类似的方法做到这一点

Set rngCopy = WS.Range(WS.Cells(acell.Row + 1, 1), WS.Cells(acell.Row + 2, 4))

代替

Set rngCopy = .Rows((acell.Row + 1) & ":" & (acell.Row + 2))