2014-03-19 61 views
1

我對VBA非常陌生。我知道它的基本疑問,但無法在任何地方找到解決方案。我試圖複製24(A1:A24)值,並將其粘貼的次數在(A25:A8760)。我很能複製單個值,並將其粘貼times.I的數量不可能多值做到這一點。使用VBA在一行中複製幾個值並在excel中同一行中多次粘貼使用VBA

Sub Macro1() 

Range("a1").Select 
Selection.Copy 

Range("a2:a30").Select 

ActiveSheet.Paste  

End Sub 

我該怎麼做,如果我多個值?

Sub Macro1() 

Range("a1:a24").Select 
Selection.Copy 

現在我需要在上述24個值粘貼到(A25:A8760)汽車無? 感謝

回答

0

起初我以爲這樣的:Range("A1:A24").Copy Range("A25:A8760")Range("A25:A8760").Value = Range("A1:A24").Value應該工作。然而它並不是,因爲上述解決方案僅在表單的「已用」部分中複製。

於是我想出了以下解決方案(只複製值):

With Range("A25:A8760") 
    .Formula = "=A1" 
    .Value = .Value 
End With 

UPD:

此代碼的工作:

Range("A25:A8760").Value = "" 
Range("A1:A24").Copy Range("A25:A8760") 

注:

我用Range("A25:A8760").Value = ""使這個範圍內是UsedRange部分(否則線Range("A1:A24").Copy Range("A25:A8760")將複製僅在表單的「拿來主義」的一部分)

+0

它不工作simoco ...它只是複製值.. –

+0

謝謝反正.... –

+0

你期望它應該複製? –

0

以下將複製和過去的364倍......

Sub Macro1() 
Dim i As Integer 

Range("A1:A24").Select 
Selection.Copy 
For i = 1 To 364 
    Range("A" & 1 + i * 24).Select 
    ActiveSheet.Paste 
Next i 
End Sub 
+0

謝謝你這麼多韋恩...它完美.. –

相關問題