For Each cell In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
cell.EntireRow.Cut Workbooks("Book2.xlsx").Worksheets("Sheet1").Cells(Rows.Count,1).End(xlUp).Offset(1, 0)
Next cell
快速的问题。这段代码循环遍历一个范围,并剪切整行或粘贴到另一个工作簿/工作表上。VBA切入范围跳过第二行
但是,它成功剪切/粘贴第一行。然后跳过第二行。并按照预期继续,切割/粘贴每一行(事实上,如果我设置了一个断点,您可以看到它碰到第一行,跳过第二行,然后运行正常&碰到所有其他人(H2,H4,H5等)。 )如果我改变方法到“复制”,它运行良好(H2,H3,H4等)
注意:我可以使用'COPY'或其他一些解决方法,但真的只是想知道为什么' CUT'的行为如下:
更新:对不起,我已经更新了CUT而不是COPY的代码,而且我知道我需要目标工作表中的标题行,唯一的问题是为什么第二个行永远不会从源表中切割(但是当我用COPY替换CUT时,它工作得很好)。
尝试更新代码,以便您的'Range','Cell'和'Rows'函数都与您要引用的工作表一起引导;即Workbooks(“Blank1.xlsx”)。Worksheets(“Sheet1”).Rows.count'而不是仅仅是'Rows.count' – Jaycal
为了让你的代码工作在列**必须在源表中填充A ** 。 –
嗨Jaycal,谢谢你的回应。试图添加你的建议,但仍然是同样的问题。第一排被切断,第二排被跳过,然后成功切断其他所有部分。 –