使用Excel Macro / VBA将数据剪切并粘贴到新创建的行中

问题描述 投票:0回答:1

我希望能够修改我正在为公司运行的当前报告。该报告带回了有关事件的一些基本信息。数据末尾有最后一列,列出了事件描述。我要在包含“总计”的任何行上方插入新行,然后插入“损失描述:描述”。

我遇到的问题是,我无法在新创建的行中将“描述”剪切并粘贴在“损失描述:”后面。我无法发布报告的图片,但下面使用的代码。当我运行宏时,将在包含“总计”的行上方创建一个新行,但是带有说明的列不会被剪切和粘贴。该描述在Excel电子表格的Q列中,并且“损失描述:”正在A列中创建。

   Sub InsertAdj()
    Dim LR As Long, i As Integer, n As Integer
    LR = Cells(Rows.Count, "A").End(xlUp).Row
    For i = LR To 2 Step -1
    If Left(Range("A" & i), 6) = "Totals" Then
    Rows(i).Insert Shift:=xlDown
    n = WorksheetFunction.Match(WorksheetFunction.Lookup("zzzzz", Range("A1:A" & i)), Range("A1:A" & i), 
    0)
    Cells(i, 1) = "Loss Description: " & Cells(n + 1, 16).Value
    Cells(n + 1, 16).ClearContents
    End If
    Next i
    End Sub
excel vba macros
1个回答
0
投票

尝试一下:

Sub InsertAdj()
    Dim LR As Long, i As Integer, n As Integer
    LR = Cells(Rows.Count, "A").End(xlUp).Row

    For i = LR To 2 Step -1
        If Left(Range("A" & i), 6) = "Totals" Then
            Rows(i).Insert Shift:=xlDown
            Cells(i, 1) = "Loss Description: " & Cells(i + 1, 16).Value
            Cells(i + 1, 16).ClearContents
        End If
    Next i
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.