【问题标题】:Macro, increment the row number宏,增加行号
【发布时间】:2016-02-08 06:50:53
【问题描述】:

我正在使用 Excel 宏来剪切和粘贴一些数据并将其添加到列表的末尾。 目前它正在覆盖最后一个条目。

'macro                 
Range("A3:R93").Select                         
Selection.Copy                         
Range("T100000").Select                        
Selection.End(xlUp).Select  
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

这会将我带到 T 列中的最后一个现有条目。

我希望在此之后粘贴我的新数据,因此需要将当前行增加 1

有没有简单的方法?

【问题讨论】:

    标签: vba excel row increment


    【解决方案1】:

    您无需选择单元格或单元格范围即可复制或粘贴;事实上,最好避免这种做法。

    Range("A3:R93").Copy _
      Destination:=Range("T" & Rows.Count).End(xlUp).Offset(1, 0)
    

    仅用于值:

    With Range("A3:R93")
        Range("T" & Rows.Count).End(xlUp).Offset(1, 0).Resize(.Rows.Count, .Columns.Count) = .Value
    End With
    

    这会定位 T 列中最后使用的单元格,然后使用 Range.Offset property 将粘贴的目标向下移动 1 行和 0 列。

    如果复制/粘贴的源或目标区域可能包含合并单元格,您需要先.UnMerge 它们。这在复制/粘贴区域的边缘附近尤为重要,合并单元格可能一半在源或目标之外。

    Dim rng As Range
    Set rng = Range("A3:R93")
    rng.UnMerge
    With Range("T" & Rows.Count).End(xlUp).Offset(1, 0).Resize(rng.Rows.Count, rng.Columns.Count)
        .UnMerge
        rng.Copy Destination:=.Cells
    End With
    

    请参阅How to avoid using Select in Excel VBA macros,了解更多摆脱依赖选择和激活来实现目标的方法。

    【讨论】:

    • @Bob - 我添加了一些Range.UnMerge method 代码以防万一。
    • 这一切都很好,因为我在新电子表格上重试了第一段代码
    • 关于第一个示例,您将如何将其粘贴为值而不是公式?
    • 增值转移方式。这是首选方法,因为它不涉及剪贴板。
    【解决方案2】:

    这是我现在拥有的,工作正常,谢谢 Jeeped

    Sub Report5()
    '
    ' Create Report
    '
    '
    Range("DA3:DC10000").Clear
    
    If Range("aw4") Then
        With Range("BB3:BD9")
            Range("DA" & Rows.Count).End(xlUp).Offset(1, 0).Resize(.Rows.Count, .Columns.Count) = .Value
        End With
    End If
    
    If Range("aw5") Then
        With Range("BB10:BD23")
            Range("DA" & Rows.Count).End(xlUp).Offset(1, 0).Resize(.Rows.Count, .Columns.Count) = .Value
        End With
    End If
    

    等另外50个左右的类别

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多