gpt4 book ai didi

vba - 在 VBA 中复制和粘贴过滤的行

转载 作者:行者123 更新时间:2023-12-04 21:55:51 33 4
gpt4 key购买 nike

我正在尝试将过滤表的一些行复制并粘贴到 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:“对象'_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

    关于vba - 在 VBA 中复制和粘贴过滤的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45079405/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com