gpt4 book ai didi

vba - 使用 VBA 将过滤后的数据复制到另一个工作表

转载 作者:行者123 更新时间:2023-12-03 15:38:36 24 4
gpt4 key购买 nike

我有两张床单。一个具有完整的数据,另一个基于第一张纸上应用的过滤器。

数据表名称:Data过滤后的工作表名称:Hoky
为简单起见,我只取一小部分数据。我的目标是根据过滤器从数据表中复制数据。我有一个宏,它以某种方式工作,但它是硬编码的,并且是一个录制的宏。

我的问题是:

  • 行数每次都不一样。 (手动)
  • 列不按顺序排列。

  • enter image description here
    enter image description here
    Sub TESTTHIS()
    '
    ' TESTTHIS Macro
    '
    'FILTER
    Range("F2").Select
    Selection.AutoFilter
    ActiveSheet.Range("$B$2:$F$12").AutoFilter Field:=5, Criteria1:="hockey"

    'Data Selection and Copy
    Range("C3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Hockey").Select
    Range("E3").Select
    ActiveSheet.Paste

    Sheets("Data").Select
    Range("D3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Hockey").Select
    Range("D3").Select
    ActiveSheet.Paste

    Sheets("Data").Select
    Range("E3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Hockey").Select
    Range("C3").Select
    ActiveSheet.Paste

    End Sub

    最佳答案

    最好的方法

    下面的代码是复制 DBExtract 表中的可见数据,并将其粘贴到 duplicateRecords 表中,只有过滤值。我选择的范围是我的数据可以占用的最大范围。您可以根据需要更改它。

      Sub selectVisibleRange()

    Dim DbExtract, DuplicateRecords As Worksheet
    Set DbExtract = ThisWorkbook.Sheets("Export Worksheet")
    Set DuplicateRecords = ThisWorkbook.Sheets("DuplicateRecords")

    DbExtract.Range("A1:BF9999").SpecialCells(xlCellTypeVisible).Copy
    DuplicateRecords.Cells(1, 1).PasteSpecial


    End Sub

    关于vba - 使用 VBA 将过滤后的数据复制到另一个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39121960/

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