复制并粘贴 VBA 中过滤的行
Copy and Paste Filtered rows in VBA
我正在尝试将过滤后的 table 的一些行复制并粘贴到 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' failed"。当我以这种方式尝试时出现相同的错误:
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
我正在尝试将过滤后的 table 的一些行复制并粘贴到 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' failed"。当我以这种方式尝试时出现相同的错误:
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