如何复制和粘贴到列?

时间:2019-05-07 16:25:34

标签: excel vba

我已经在Excel中建立了一些模型,首先必须手动从H24:H25复制值并将其特殊粘贴到B29:B30,然后再将B29:B30的值复制到具有以下范围的表中:G30 :M31,但在第一个循环中,我需要将其粘贴到G30:G31(第一年),在第二个中将其粘贴到H30:31 ...在最后一个循环中,我需要从B29:30粘贴到M30:M31(第7个年)

Sub MAKRO()
    Dim Year As Integer
    For Year = 1 To 7
    Range("K45") = Year
    Range("H24:H25").Select
    Selection.Copy
    Range("B29:B30").Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Range("B29:B30").Select
    Selection.Copy
    Range(I cant figure out this part)
    Selection.PasteSpecial Paste:=xlPasteValues
    Next Year
End Sub

1 个答案:

答案 0 :(得分:0)

一种更好的编写方式如下:

Dim WS as worksheet

Set WS = Thisworkbook.sheets("Sheet Name")
    For i = 1 to 7
        WS.Range(YearRange) = i
        WS.Range(DestinationRange).Offset(0,I).value2 = WS.Range(SourceRange).value2
    Next i

剩下的(以及如何正确使用偏移量)留给读者练习……(又是我很快就徒手编写了这段代码)

请注意,您确实需要填写目标范围(例如A1:A2)