VBA宏根据单元格值复制并粘贴到特定位置

时间:2016-12-13 15:06:18

标签: excel-vba vba excel

@ShaiRado帮我修改了一个宏,允许我从我的主要表格中复制和粘贴信息" Tracker"到仪表板我建造" Sheet1"如果列J的状态是"完成" "正在进行中"或"即将到来"。

效果很好 - 但我真正想要的是根据第J列的状态将信息粘贴到离散的不同位置。例如,我的意思是;我希望所有的"完成"排在一起的行,例如A1:A50,A60中的所有上升点:A100和所有正在进行中的#34;坐在A101:A150,甚至穿过A-K,M-S,U-AC这样的东西?

这是我到目前为止所做的:

Option Explicit

Sub Copybasedonstatus()

'Niall McCracken 12/12/16

Dim lRow As Long, cRow As Long, j As Long

 With Sheets("Tracker")
    lRow = .Range("A800").End(xlUp).Row

    ' another method of finding last row in Column A (skipping blank cells in the middle)
    lRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    For j = lRow To 1 Step -1
        cRow = Sheets("Sheet1").Range("A800").End(xlUp).Row

        Select Case .Range("J" & j).Value
            Case "Upcoming"
                .Range("A" & j & ":K" & j).Copy Destination:=Sheets("Sheet1").Range("A" & cRow + 1)

            Case "Complete"
                .Range("A" & j & ":K" & j).Copy Destination:=Sheets("Sheet1").Range("A" & cRow + 1)

            Case "In Progress"
                .Range("A" & j & ":K" & j).Copy Destination:=Sheets("Sheet1").Range("A" & cRow + 1)

        End Select
    Next
End With

End Sub

1 个答案:

答案 0 :(得分:0)

我们可以更改案例以查找您建议的列中的下一个可用行:

paper-tabs