ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Extracting results of Advanced Filter. (https://www.excelbanter.com/excel-programming/390556-extracting-results-advanced-filter.html)

[email protected]

Extracting results of Advanced Filter.
 
Heya, folks.

When an Advanced Filter is run, the following text appears in the
Excel status bar:

"X of Y records found"

.... where X is the number of records that matched the filter criteria,
and Y is the total number of records in the filtered range.

Is there any way to extract these values programmatically? I may be
blind, but I don't see it anywhere in the relevant documentation.
I've been able to do it by capturing the status bar text and parsing
it to extract the numbers, but I'm hoping there's a more elegant way
to go about it.

Thanks,

- David Prokopetz.


Norman Jones

Extracting results of Advanced Filter.
 
Hi David,

One way:

'=============
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim rng As Range
Dim iTotal As Long
Dim iFiltered As Long

Set WB = Workbooks("MyBook.xls") '<<==== CHANGE
Set SH = WB.Sheets("Sheet1") '<<==== CHANGE
Set rng = SH.Range("_FilterDatabase")

iTotal = rng.Rows.Count - 1
iFiltered = rng.Columns(1).SpecialCells(xlVisible).Count - 1

'=============
Public Sub Tester0()
Dim WB As Workbook
Dim SH As Worksheet
Dim rng As Range
Dim iTotal As Long
Dim iFiltered As Long

Set WB = ThisWorkbook
Set SH = WB.Sheets("Sheet1")
Set rng = SH.Range("_FilterDatabase")

iTotal = rng.Rows.Count - 1
iFiltered = rng.Columns(1).SpecialCells(xlVisible).Count - 1

MsgBox Prompt:=iFiltered & " rows of " _
& iTotal & " are visible", _
Buttons:=vbInformation, _
Title:="Filter Records"

End Sub
'<<=============


---
Regards,
Norman


wrote in message
oups.com...
Heya, folks.

When an Advanced Filter is run, the following text appears in the
Excel status bar:

"X of Y records found"

... where X is the number of records that matched the filter criteria,
and Y is the total number of records in the filtered range.

Is there any way to extract these values programmatically? I may be
blind, but I don't see it anywhere in the relevant documentation.
I've been able to do it by capturing the status bar text and parsing
it to extract the numbers, but I'm hoping there's a more elegant way
to go about it.

Thanks,

- David Prokopetz.




Norman Jones

Extracting results of Advanced Filter.
 
Hi David,

A bit of a cut & paste problem!

Tryimg again:

One way:

'=============
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim rng As Range
Dim iTotal As Long
Dim iFiltered As Long

Set WB = Workbooks("Mybook.xls")
Set SH = WB.Sheets("Sheet1")
Set rng = SH.Range("_FilterDatabase")

iTotal = rng.Rows.Count - 1
iFiltered = rng.Columns(1).SpecialCells(xlVisible).Count - 1

MsgBox Prompt:=iFiltered & " rows of " _
& iTotal & " are visible", _
Buttons:=vbInformation, _
Title:="Filter Records"
End Sub
'<<=============


---
Regards,
Norman




All times are GMT +1. The time now is 04:48 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com