VBA复制粘贴自动筛选后的内容

VBA复制粘贴自动筛选后的内容:

Sub sx()
    If Dir("D:\VBA\xx.xls") <> "" Then
        Workbooks.Open Filename:="D:\VBA\xx.xls"
    Else
        GoTo ERR
    End If
    Range("A1").Select
    With Selection
                  .AutoFilter Field:=1, Criteria1:=0
                  .SpecialCells(xlCellTypeVisible).Copy Sheets("Temp").Range("A1")
    End With
    
ERR: MsgBox "发现非法数据存在,程序终止!", 16
End Sub


  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VBA是一种编程语言,可以在Excel软件中实现各种自动化操作。在VBA中,我们可以编写代码来筛选数据,并将筛选后的结果复制到一个新的工作表中。 首先,我们需要确定数据所在的工作表和范围。可以使用以下代码来引用某个工作表中的数据范围: ``` Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") '将“Sheet1”替换为实际的工作表名称 Dim rng As Range Set rng = ws.Range("A1:D10") '将“A1:D10”替换为实际的数据范围 ``` 接下来,我们可以使用筛选功能来筛选数据。假设我们想筛选出所有满足某个条件的行,可以使用以下代码: ``` Dim filterCriteria As String filterCriteria = "某个条件" '将“某个条件”替换为实际的筛选条件 rng.AutoFilter Field:=1, Criteria1:=filterCriteria ``` `Field:=1`表示筛选条件应用于数据范围中的第一列。 然后,我们可以将筛选后的数据复制到一个新的工作表中。为了创建一个新的工作表,并将筛选结果粘贴到该工作表中,可以使用以下代码: ``` Dim newWs As Worksheet Set newWs = ThisWorkbook.Sheets.Add '创建一个新的工作表 rng.SpecialCells(xlCellTypeVisible).Copy Destination:=newWs.Range("A1") '将筛选结果复制到新的工作表的A1单元格 ``` 最后,我们可以将新的工作表重命名,以便更好地描述筛选结果。可以使用以下代码来重命名工作表: ``` newWs.Name = "筛选结果" '将“筛选结果”替换为实际的工作表名称 ``` 综上所述,以上代码展示了如何在VBA筛选数据并将筛选结果复制到一个新的工作表中。根据实际需求,你可以根据上述示例进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值