可见复制粘贴功能导致错误

时间:2018-08-07 08:51:42

标签: excel vba excel-vba

我正在处理错误,但我真的不知道该如何处理。

The error

Private Sub commandbutton1_click()

Dim ws As Worksheet: Set ws = Sheets("inbd")
Dim wsDestination As Worksheet: Set wsDestination = Sheets("sheet1")

LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    ws.Range("A1:N" & LastRow).AutoFilter Field:=1, Criteria1:=Worksheets("sheet1").Cells(1, 5).Value

下面的代码行给我一个错误。

    Sheets("INBD").Range("D2", Cells(Rows.Count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible).Cells(2, 4).Copy _
    Destination:=Sheets(1).Range("J1:K2")

应该复制D列中的第一个可见单元格。(信贷:这部分代码是由用户“ Marcucciboy2”提供给我的)尽管我不知道如何将其与其余代码集成

    Application.Run ("Macro8")
    Application.Run ("Macro4")
    Application.Run ("Macro5")
    Application.Run ("Macro6")

LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    ws.Range("A1:N" & LastRow).AutoFilter Field:=1, Criteria1:=Worksheets("sheet1").Cells(1, 5).Value

ws.Range("A1:N" & LastRow).AutoFilter Field:=1

End Sub

1 个答案:

答案 0 :(得分:0)

 Sheets("INBD").Range("D2", Cells(Rows.Count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible) 

返回一列宽一列的单元格-因此它不能有cell(2,4),因为它在第四列中定义了某些内容。您需要cell(1,1)-可见单元格中的第一个单元格。

单元格将参照指定范围定义一个单元格,除非您使用Worksheets(X).cells,在这种情况下,它是通过引用整个电子表格来实现的:因此Sheets(“ INBD”)。Cells(2,4)是单元格D2 ,但Range(“ A100:D200”)。cells(2,4)是单元格D200