Vba 从一张工作表中复制一系列数据&;在其他工作表中粘贴18次
你好 我需要从一个工作表中复制一系列数据,并将每个数据粘贴到另一个工作表中18次 例如。, 我需要从一张名为“Inputs”的表格中复制从第6行A、F、G列开始的数据 并且需要将数据从另一张名为“locale_data”的表中A、C、D列的第6行开始粘贴18次 因此,输入工作表的第一个数据应该粘贴到工作表“locale_data”的第(6:23)行中,并以顺序方式跟随其他数据Vba 从一张工作表中复制一系列数据&;在其他工作表中粘贴18次,vba,excel,Vba,Excel,你好 我需要从一个工作表中复制一系列数据,并将每个数据粘贴到另一个工作表中18次 例如。, 我需要从一张名为“Inputs”的表格中复制从第6行A、F、G列开始的数据 并且需要将数据从另一张名为“locale_data”的表中A、C、D列的第6行开始粘贴18次 因此,输入工作表的第一个数据应该粘贴到工作表“locale_data”的第(6:23)行中,并以顺序方式跟随其他数据 谢谢你的帮助 你可以试试这样的东西。我只显示了一列。可以对其他列重复此操作。确保将范围$A$1:$A$2更改为所需的数据
谢谢你的帮助 你可以试试这样的东西。我只显示了一列。可以对其他列重复此操作。确保将范围
$A$1:$A$2
更改为所需的数据范围
如果您在输入工作表的A6:A10范围内有值,并且希望从第6行开始将它们在locale_数据工作表中复制18次,则可以执行类似操作
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
(建议后编辑)
如果您只想在另一个工作表中将第6行中的值复制18次,可以执行以下操作:
ThisWorkbook.Worksheets("Inputs").Range("A6").Copy
ThisWorkbook.Worksheets("locale_Data").Range("A6:A23").PasteSpecial
您必须对每个单元格重复此代码
如果你想把18改成其他数字,你可以把单元格的范围连起来,比如
Range("A6:A" & (6 + 18)).PasteSpecial
如果这不是您想要的,请告诉我。我对这个答案投了反对票,因为如果只有人们停止编写依赖于
的代码,就不需要问这么多问题。选择和选择(和.Activate
),并隐式地使用活动表。例如,你可以简单地做这个工作簿。工作表(“输入”)。范围(“A6”)。复制
。谢谢Mat的杯子。我同意你的观点,下次再做。请随意回答,否决票不是一成不变的;-):)是的。在尝试开始参与新社区时,能遇到像你这样的人总是很好的。嗨,非常感谢你的回答!但这只适用于第一行数据。我需要复制输入表中的所有现有数据,并将其顺序粘贴到locale_数据表中。。请您提供帮助?向我们展示您的代码及其问题,以便帮助您解决这些问题
Range("A6:A" & (6 + 18)).PasteSpecial