2015-10-12 106 views
-3

我需要复制单元格A1:C10,并将它们粘贴X次。的X是在小区D1,同样在单元格A1我有一个式复制并粘贴单元格x次并更改单元格地址

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

我所需要的单元行$ H $ 通过的次数来改变细胞A1:C10是粘贴。例如。 $ H $ (如果我粘贴第一次),$ H $ (如果我粘贴第二次),$ H $ (如果我粘贴第3次)...

+0

你试过的任何代码? – Vasim

+0

不,我没有尝试任何即时通讯在网上搜索 – vivi

+0

这可以用一个'For'循环完成。否则,你不清楚你在问什么(特别是你在哪里粘贴*到*?)。 –

回答

1

我认为这就是你以后的样子

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 
+0

调试它并找出结果第二次迭代中的“rngToPaste.Address”是什么? –

+0

非常感谢你的工作,除了它粘贴的次数,它只粘贴一次,而不是单元格D1中的数字,公式也会改变,但不会像指定的那样改变为随机值 – vivi

+0

什么都不是“随机”:)调试它通过逐步完成代码。在第一次迭代中'x'的值是多少?第二次迭代?等等。在每次迭代时,“rngToPaste.Address”的价值是什么? –

相关问题