尝试将粘贴单元从一张纸复制到另一张纸?

时间:2019-10-04 08:21:14

标签: excel vba

我正在尝试从名为“活动概述”的工作表中复制B列(仅填充的单元格),并从第11行开始粘贴到列E中的名为“ V&VFile”的工作表中,但是当我运行宏时,没有复制并似乎粘贴空白单元格。

数据源使用excel公式索引匹配,这是为什么它可以复制从excel公式中找到的数据?

Sub VVfileFILL()

Dim Lastrow As Double

Lastrow = Worksheets("Activity Overview").Cells(Rows.Count, "B").End(xlUp).Row

ThisWorkbook.Worksheets("Activity Overview").Range("B" & Lastrow).Copy

ThisWorkbook.Sheets("V&V").Range("E" & Rows.Count).End(xlUp).Offset(10, 0).PasteSpecial xlPasteValues

End Sub

1 个答案:

答案 0 :(得分:1)

不要认为在这种情况下可以避免循环。

Sub VVfileFILL()

Dim Lastrow As Long, r As Long, n As Long

n = Worksheets("V&V").Range("E" & Rows.Count).End(xlUp).Offset(10, 0).Row

With Worksheets("Activity Overview")
    Lastrow = .Cells(Rows.Count, "B").End(xlUp).Row
    For r = 2 To Lastrow
        If Len(.Cells(r, "B")) > 0 Then 'check not blank
            If WorksheetFunction.CountIf(Worksheets("V&V").Range("E1:E" & n), .Cells(r, "B")) = 0 Then 'check not already in E
                Worksheets("V&V").Cells(n, "E").Value = .Cells(r, "B").Value 'transfer value
                n = n + 1 'add 1 to destination row
            End If
        End If
    Next r
End With

End Sub