原始问题:
我想在其他工作表中导入一个列,并通过在底部添加修改后的单元格来更新它。 我尝试了下面的代码但它在第三行中出错可以有人帮助我吗?
通过定义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
答案 0 :(得分:0)
您无需遍历Analyze表中的单元格。您只需要复制并粘贴一次。
摆脱:
For Each aCell In Worksheets("Analyse").Range("C6:C" & lRow).Cells
With aCell
以及与您排除的行匹配的End With
和Next
。