Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 从一张工作表中复制一系列数据&;在其他工作表中粘贴18次_Vba_Excel - Fatal编程技术网

Vba 从一张工作表中复制一系列数据&;在其他工作表中粘贴18次

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更改为所需的数据

你好

我需要从一个工作表中复制一系列数据,并将每个数据粘贴到另一个工作表中18次

例如。, 我需要从一张名为“Inputs”的表格中复制从第6行A、F、G列开始的数据 并且需要将数据从另一张名为“locale_data”的表中A、C、D列的第6行开始粘贴18次

因此,输入工作表的第一个数据应该粘贴到工作表“locale_data”的第(6:23)行中,并以顺序方式跟随其他数据


谢谢你的帮助

你可以试试这样的东西。我只显示了一列。可以对其他列重复此操作。确保将范围
$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