我有一个要求,需要我仅选择大于零的值。它也有文本和数字。这是示例数据,
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子来获取这些数据并产生上述输出。我在尝试。但是它没有到达那里。
我尝试的代码
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以获取显示结果。