簡體   English   中英

在VBA中復制和粘貼已過濾的行

[英]Copy and Paste Filtered rows in VBA

我試圖將過濾表的一些行復制並粘貼到Excel中的一系列單元格中。 在應用過濾器后,要復制的行現在始終相同。 我試圖將復制的行粘貼到單元格O2上。 我試過這樣做:

Dim Rows As Range
Rows = Sheet10.Range("B10:B")
With Rows
    .SpecialCells(xlCellTypeVisible).Copy Destination:=Sheet10.Range("O2")
End With
  End Sub

當這樣做時,我總是得到錯誤1004:“Method'Range'of object'_Worksheet'失敗了”。 當我以這種方式嘗試時彈出相同的錯誤:

Dim Rows As Range
Rows = Sheet10.Range("B10:B")
With Sheet10.Range("B10:B")
    .SpecialCells(xlCellTypeVisible).Copy Destination:=Sheet10.Range("O2")
End With
  End Sub

我是VBA的新手,我想我可能會遺漏一些基本的對象規則。 謝謝。

  • 范圍地址應為B10:B100 ;
  • 設置范圍時,請使用Set字;
  • 不要將Rows用作變量字,它用於VBA;
  • 使用Worksheets ,而不是Sheets ,它有點好;
  • 在頂部使用Option Explicit

像這樣:

Option Explicit

Public Sub TestMe()
    Dim rngRows As Range

    Set rngRows = Worksheets(8).Range("B10:B100")
    With rngRows
        .SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets(8).Range("O2")
    End With

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM