Helloo,
我需要从一个工作表中复制一系列数据。在另一个工作表中粘贴18个每个数据。
例如, 我需要从名为"输入"的一张表中复制第6行A,F,G列的数据。 并且需要从名为" locale_Data"
的其他工作表中的A列,C,D的第6行开始,将数据粘贴18次因此,输入表的第一个数据应该粘贴到表" locale_Data"的行(6:23)中。 &安培;以顺序方式跟随其他数据。
感谢您的帮助!
答案 0 :(得分:1)
如果您在输入工作表的A6:A10范围内有值,并且您希望从第6行开始18次将它们复制到locale_Data工作表中,您可以执行以下操作。
Dim LastRow As Long
Dim i, startAt, totalRowsToCopy As Integer
Dim sheet1 As Worksheet
Dim sheet2 As Worksheet
Set sheet1 = ThisWorkbook.Worksheets("Inputs")
Set sheet2 = ThisWorkbook.Worksheets("locale_Data")
LastRow = sheet1.Cells(sheet1.Rows.Count, "A").End(xlUp).Row
sheet1.Range("A6:A" & (LastRow)).Copy
startAt = 6
totalRowsToCopy = LastRow - startAt + 1
For i = 1 To 18
sheet2.Range("A" & startAt & ":A" & (startAt + totalRowsToCopy - 1)).PasteSpecial
startAt = startAt + totalRowsToCopy
Next i
(在Mat's建议之后编辑)
如果您只想在第6行中将值复制18次,可以执行以下操作:
ThisWorkbook.Worksheets("Inputs").Range("A6").Copy
ThisWorkbook.Worksheets("locale_Data").Range("A6:A23").PasteSpecial
您必须为每个单元格重复此代码。
如果你想将18更改为其他数字,你可以随时连接像
这样的单元格范围Range("A6:A" & (6 + 18)).PasteSpecial
如果这不是你想要的,请告诉我。
答案 1 :(得分:0)