Vba 将单元格复制粘贴x次并更改单元格地址

Vba 将单元格复制粘贴x次并更改单元格地址,vba,excel,copy-paste,Vba,Excel,Copy Paste,我需要复制单元格A1:C10,然后粘贴X次。X在单元格D1中,也在单元格A1中,我有一个公式 =IF('C:\Users\..\..\\E kompletuar\[data.xlsx]data'!$H$2=0;"") 我需要将单元格行$H$2更改为粘贴单元格A1:C10的次数。例如,$H$3(如果我第一次粘贴),$H$4(如果我第二次粘贴),$H$5(如果我第三次粘贴)。我想这就是你想要的 Sub foo() Dim x as Long, numberOfTimes as Long 'numb

我需要复制单元格A1:C10,然后粘贴X次。X在单元格D1中,也在单元格A1中,我有一个公式

=IF('C:\Users\..\..\\E kompletuar\[data.xlsx]data'!$H$2=0;"")

我需要将单元格行$H$2更改为粘贴单元格A1:C10的次数。例如,$H$3(如果我第一次粘贴),$H$4(如果我第二次粘贴),$H$5(如果我第三次粘贴)。

我想这就是你想要的

Sub foo()
Dim x as Long, numberOfTimes as Long 'number of times to "copy"
Dim rngToCopy as Range
Dim rngToPaste as Range
Dim A1_FORMULA as String

'## Define the range you want to copy:
Set rngToCopy = Range("A1:C10")

'## Get the number "X" from cell D1:
numberOfTimes = Range("D1").Value

For x = 1 to numberOfTimes

    '## Define your base formula:
    A1_FORMULA = "=IF('C:\Users\..\..\\E kompletuar\[data.xlsx]data'!$H$" & CStr(2 + x) & "=0;"""")"

    '# Determine where to paste:
    Set rngToPaste  = rngToCopy.Offset(x*(rngToCopy.Rows.Count + 2))

    '# Copy and Paste
    rngToCopy.Copy Destination:=rngToPaste

    '# Update the formula in the first copied cell/column A:
    rngToPaste.Cells(1,1).Formula = A1_FORMULA

Next
End Sub

有你试过的代码吗?没有,我没有试过任何东西,我正在网上搜索,这可以通过
for
循环来完成。否则,就不清楚你在问什么(特别是--你要粘贴到哪里?)。对不起,我忘了指定我需要粘贴的位置,我需要在同一张纸中的C10之后粘贴3行,它将是A13,sow如果我粘贴4次,ne 5将bi放入单元格A52,在第二次迭代时将其取出并计算出
rngToPaste.Address
是什么?非常感谢,除了粘贴次数外,它只粘贴一次,与单元格D1中的数字不同,公式也会更改,但与指定的不同,它会更改为随机值“随机”:)通过单步执行代码进行调试。第一次迭代的
x
值是多少?第二次迭代?等等。每次迭代的
rngToPaste.Address
值是多少?