Vba 将单元格复制粘贴x次并更改单元格地址
我需要复制单元格A1:C10,然后粘贴X次。X在单元格D1中,也在单元格A1中,我有一个公式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
=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
值是多少?