我在一个大型电子表格中有一个海量数据集(上千个值),我需要将这些值复制并粘贴到新工作表中,每组10个。基本上,我需要复制一列中的前10个单元格,并将它们粘贴到新工作表中各自的列中。然后,我需要对单元格11-20重复此操作,并将它们粘贴到新工作表中各自的列中。因此:复制1-10,粘贴到A列的新工作表中,然后复制11-20并粘贴到相同的新工作表,C列的21-30列,依此类推。
我已经尝试了一些基本的代码,我对此真的很陌生,但发现它很有趣。我已经知道如何复制10的范围并粘贴到新的工作表上,但我不知道如何设置循环,以便我可以继续这个过程,以增加10组的新列。我也尝试过录制宏,但它只是重新创建我输入的按键,这对我没有用处。
我写这篇文章是为了复制源列中的前10个,然后粘贴到新列中的新工作表中。
Option Explicit
Sub CopyCells()
Worksheets("Sheet1").Range("A3:A12").Copy Worksheets("Sheet2").Range("B2:B11")
End Sub我需要它循环并连续地从一个目标列中剪切并粘贴10个单元格的集合到新的工作表中,并将每组10个单元格粘贴到它们自己的新列中。如果你发了一个回复,能不能也加个解释?我真的很喜欢这些东西,并且正在努力学习,而不仅仅是复制粘贴一些代码。谢谢!
发布于 2019-08-22 05:32:43
你可以这样做:
Sub CopyCells()
Const NUM_ROWS As Long = 10 'size of block to copy
Dim rngCopy As range, col As Long
Set rngCopy = Worksheets("Sheet1").Range("A3").Resize(NUM_ROWS, 1)
col = 2
'copy while rngCopy has any data
Do While Application.Counta(rngCopy) > 0
rngCopy.Copy Worksheets("Sheet2").Cells(2, col)
col = col + 1 'increment destination column
Set rngCopy = rngCopy.Offset(NUM_ROWS, 0) 'move copy range down 10
Loop
End Subhttps://stackoverflow.com/questions/57599327
复制相似问题