繁体   English   中英

Excel筛选器-VBA自动化

[英]Excel Filter - VBA to automate

我有一个要求,我只需要选择大于零的值。 它也有文字和数字。 这是示例数据,

Name    Marks   Remarks
ab      90         Good
bc      0          Bad
cd     70          Average
de      0          Bad
fg    didn'tattend  Poor

我希望我使用VBA的输出是这样的,

Name    Marks
ab      90
cd      70

并且输出也位于另一张纸上。 请告诉我哪个是最适合此要求的。

我需要一个VBA SUB来接收这些数据并产生上面的输出。 我在尝试。 但是它没有到​​达那里。

我尝试过的代码

Private Sub OpenExcelFile_Click()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Sheet As Worksheet
Dim PasteStart As Range

Set wb1 = ActiveWorkbook
Set PasteStart = [Control!A1]

Sheets("Section1").Select
    Cells.Select
    Selection.ClearContents

FileToOpen = Application.GetOpenFilename _
(Title:="Please choose the required file", _
FileFilter:="Report Files *.xls (*.xls),")

If FileToOpen = False Then
    MsgBox "No File Specified.", vbExclamation, "ERROR"
    Exit Sub
Else
    Set wb2 = Workbooks.Open(Filename:=FileToOpen)
    For Each Sheet In wb2.Sheets
        With Sheet.UsedRange
            .Copy PasteStart
            Set PasteStart = PasteStart.Offset(.Rows.Count)
        End With
    Next Sheet
End If
    wb2.Close

End Sub

一方面,很难有人为您编写代码,另一方面,这是个很好的新功能,您可以使用内置的Excel表轻松完成此操作。 只需简单地单击数据的一个单元格,转到“插入”选项卡,选择“插入表”并选中我的表具有标题即可。 然后,您将看到每列都有一个过滤图标,使用“标记”列并转到“数字”过滤器,然后选择“大于或等于70”以得到显示的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM