ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Print condition and autofilter (https://www.excelbanter.com/excel-programming/395568-print-condition-autofilter.html)

Ixtreme

Print condition and autofilter
 
Hi,

On a large sheet with data I have a print button that a user can
click. On the sheet I have another button that creates an autofilter.
What I would like to have is that if the user selects the print button
and NO selection has been made in the autofilter, the routine will
exit sub.

somethin like :

if ActiveSheet.PageSetup.PrintArea =
ActiveSheet.AutoFilter.Range.Address is empty then exit sub.


Keithlo

Print condition and autofilter
 
This is from the VBA help:

Remarks
This property is True if the worksheet contains a filtered list in which
there are hidden rows.

Example
This example displays the filter status of Sheet1 in a message box.

If Worksheets("Sheet1").FilterMode = True Then
MsgBox "Filter mode is on"
Else
MsgBox "Filter mode is off"
End If

Not sure that's what you're looking for, but thought it might be.

Keith

"Ixtreme" wrote:

Hi,

On a large sheet with data I have a print button that a user can
click. On the sheet I have another button that creates an autofilter.
What I would like to have is that if the user selects the print button
and NO selection has been made in the autofilter, the routine will
exit sub.

somethin like :

if ActiveSheet.PageSetup.PrintArea =
ActiveSheet.AutoFilter.Range.Address is empty then exit sub.



Ixtreme

Print condition and autofilter
 
I know, but that is not what I meant. With this you can only see if
the the autofilter is active. However, what I want is that the user
has at least one field selected ie made a filter on 1 field. If not,
exit sub.



Keithlo

Print condition and autofilter
 
I see. Try this:

Sub AutoFilterTest()

Dim MyFilterCriteria As Boolean
MyFilterCriteria = False

For Each a In Sheets("Sheet1").AutoFilter.Filters
If a.On Then MyFilterCriteria = True
Next a

If MyFilterCriteria = True Then
MsgBox ("Ok to Print.")
Else
MsgBox ("Not Ok to Print.")
End If

End Sub

And replace my MsgBox ("Ok to Print.") line with the print command you wish
to use. Also change "Sheet1" to the name of your sheet.

Hope this helps.

Keith

"Ixtreme" wrote:

I know, but that is not what I meant. With this you can only see if
the the autofilter is active. However, what I want is that the user
has at least one field selected ie made a filter on 1 field. If not,
exit sub.





All times are GMT +1. The time now is 10:05 PM.

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