代码:导入修改过的单元格并将其添加到列的底部

时间:2015-08-14 07:41:06

标签: excel vba excel-vba

原始问题:

我想在其他工作表中导入一个列,并通过在底部添加修改后的单元格来更新它。 我尝试了下面的代码但它在第三行中出错可以有人帮助我吗?

通过定义lrow

来修复
lRow = Worksheets("Analyse de risque").Range("C6").End(xlDown).Row

新问题:

它只是在底部多次添加相同的列,我不明白为什么?

Public Sub Refreshing()

    Dim aCell As Range

    If Worksheets("Analyse").Range("C6:C" & lRow).Cells.Count > 1 Then

        For Each aCell In Worksheets("Analyse").Range("C6:C" & lRow).Cells

            With aCell

                Dim wsI As Worksheet
                Dim lRowWsI As Long, lRowWsO As Long

                '~~> Find the last row where the data needs to go
                lRowWsO = Worksheets("PTR").Range("B" & Worksheets("PTR").Rows.Count).End(xlUp).Row + 1

                '~~> Set Input Sheet
                Set wsI = Worksheets("Analyse")

                With wsI

                    '~~> Find Last Row to get the range you want to copy
                    lRowWsI = .Range("C" & .Rows.Count).End(xlUp).Row

                    '~~> Do the final Copy
                    .Range("C6:C" & lRowWsI).Copy Destination:=Worksheets("PTR").Range("B" & lRowWsO)

               End With

           End With

       Next

       Application.CutCopyMode = False

    End If

End Sub

1 个答案:

答案 0 :(得分:0)

您无需遍历Analyze表中的单元格。您只需要复制并粘贴一次。

摆脱:

        For Each aCell In Worksheets("Analyse").Range("C6:C" & lRow).Cells

            With aCell

以及与您排除的行匹配的End WithNext