代码之家  ›  专栏  ›  技术社区  ›  Deepak

如何在excel vba中将单元格从一行复制到另一行

  •  0
  • Deepak  · 技术社区  · 7 年前
    Range("A7:C17").Copy Range("F2")
    

    我只想把数据从A7复制到F2;同一页中的B7至F3和C7至F4。 我使用了上面的代码。但是,如果我再添加一行(即A18 B18 C18),则它不起作用。帮助我

    2 回复  |  直到 7 年前
        1
  •  1
  •   SJR    7 年前

    假设C中的行数与A中的行数相同

    Range("A7", Range("C" & Rows.Count).End(xlUp)).Copy Range("F2")

    如果没有,

    Range("A7", Range("A" & Rows.Count).End(xlUp)).Resize(, 3).Copy Range("F2")
    

    如果只需要值而不需要格式,

    If Range("F2") <> vbNullString Then
        Range("F2", Range("F" & Rows.Count).End(xlUp)).Resize(, 3).ClearContents
    End If
    
    With Range("A7", Range("A" & Rows.Count).End(xlUp)).Resize(, 3)
        Range("F2").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
    
        2
  •  0
  •   Shai Rado    7 年前

    你需要使用 Transpose ,请尝试以下代码:

    Range("A7:C17").Copy
    Range("F2").PasteSpecial Paste:=xlPasteAll, Transpose:=True