0

我正在 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 属性添加到单元格,但出现错误。

4

2 回答 2

0

你试过AutoFilterUsedRange

尝试这个

ExcelSheet.UsedRange.AutoFilter
于 2012-07-18T12:01:47.523 回答
0

您需要在最后一个 For..Next 循环之后添加此行:

For i = 1 To ListView1.ColumnHeaders.Count
    .Range(.Cells(1, i), .Cells(ListView1.ListItems.Count + 1, i)).AutoFilter
Next i 
于 2012-07-18T12:36:24.250 回答