我在VB6中创建一个程序,在Excel中打开数据。我有数千行数据,我使用过滤器选项来查看某些数据。 我想知道的是,如果打开Excel工作表而不必单击过滤器,是否可以始终打开过滤器选项?我知道单击过滤器功能没什么大不了的,但是其他人会使用它,所以每次查看一张纸时,每列的第一行总是有这个选项会很方便。我希望这是有道理的:/谢谢
这是我的代码:
Private Sub cmdReports_Click()
Dim ExcelObj As Object
Dim ExcelBook As Object
Dim ExcelSheet As Object
Dim i As Integer
Set ExcelObj = CreateObject("Excel.Application")
Set ExcelBook = ExcelObj.WorkBooks.Add
Set ExcelSheet = ExcelBook.WorkSheets(1)
With ExcelSheet
.AutoFilterMode = True
For i = 1 To ListView1.ColumnHeaders.Count
.cells(1, i) = ListView1.ColumnHeaders(i).Text
Next i
For i = 1 To ListView1.ListItems.Count
.cells(i + 1, 1) = ListView1.ListItems(i).Text
.cells(i + 1, 2) = ListView1.ListItems(i).SubItems(1)
.cells(i + 1, 3) = ListView1.ListItems(i).SubItems(2)
.cells(i + 1, 4) = ListView1.ListItems(i).SubItems(3)
Next
End With
ExcelObj.Visible = True
Set ExcelSheet = Nothing
Set ExcelBook = Nothing
Set ExcelObj = Nothing
End Sub
我尝试将.AutoFilter属性添加到单元格但是我收到错误。
答案 0 :(得分:0)
您是否使用AutoFilter
尝试UsedRange
?
试试这个
ExcelSheet.UsedRange.AutoFilter
答案 1 :(得分:0)
您需要在最后一个For..Next循环后添加此行:
For i = 1 To ListView1.ColumnHeaders.Count
.Range(.Cells(1, i), .Cells(ListView1.ListItems.Count + 1, i)).AutoFilter
Next i