2015-10-12 110 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」的價值是什麼? –

相關問題