Print if populated

  • Thread starter Thread starter Stuart Evans
  • Start date Start date
S

Stuart Evans

Hi All
I have a workbook with a number of sheets one of which is hidden and
called "continuation sheet" I have a command button on a frontend sheet with
a macro attached. What i need to do is look at the sheet named "continuation
sheet" and if cell B5 is populated print the sheet.

Stuart
 
if len(trim(Worksheets("continutation sheet").Range("B5").Text)) > 0 then
Application.ScreenUpdating = False
Worksheets("continuation sheet").Visible = xlSheetVisible
Worksheets("continuation sheet").Printout
Worksheets("continuation sheet").Visible = xlSheetHidden
Application.ScreenUpdating = True
End if
 
Tom
Thanks for the reply however I cant seem to get this working can you
explain where I put this code please.

Stuart
 
Private Sub Commandbutton1_Click()

if len(trim(Worksheets("continutation sheet").Range("B5").Text)) > 0 then
Application.ScreenUpdating = False
Worksheets("continuation sheet").Visible = xlSheetVisible
Worksheets("continuation sheet").Printout
Worksheets("continuation sheet").Visible = xlSheetHidden
Application.ScreenUpdating = True
End if

End Sub
 
Tom
Nope cant get this working I get a Subscript out of range error when I
click the button? Am I missing something here?

Stuart
 
if len(trim(Worksheets("continutation sheet").Range("B5").Text)) > 0 then

has continuation mispelled.

if len(trim(Worksheets("continuation sheet").Range("B5").Text)) > 0 then
 
Tom
Thats Sorted it thank you.
Just one more what code do I need to check a range of cells say A8:K20
in the same sheet?

Stuart
 
Private Sub Commandbutton1_Click()

if Application.CountA(Worksheets("continuation sheet").Range("A8:K20")) > 0
then
Application.ScreenUpdating = False
Worksheets("continuation sheet").Visible = xlSheetVisible
Worksheets("continuation sheet").Printout
Worksheets("continuation sheet").Visible = xlSheetHidden
Application.ScreenUpdating = True
End if

End Sub
 
Tom
The code now prints the sheet even if there is no data in any of the
cells?

Stuart
 
counta gives the count of cells that are not empty.

do you have formulas in the cells that are returning empty strings? - then
those are not empty.

I don't see any reason it wouldn't work if the cells are actually empty.

demo'd from the immediate window:

Worksheets("Continuation sheet").Range("A8:K20").ClearContents
? Application.CountA(Worksheets("continuation sheet").Range("A8:K20"))
0
Worksheets("Continuation sheet").Range("B10").Value = 6
? Application.CountA(Worksheets("continuation sheet").Range("A8:K20"))
1
 
Tom
Yes there is formula in the cells having removed these formula the code
works as you say. Is there anyway to check these cells with formula in as
the first code for a single cell works with formula in the cell.

Stuart
 
Assuming you want a printout if any cell in the range is displaying a value:

Private Sub Commandbutton1_Click()
Dim cell as Range
For each cell in Worksheets("continuation sheet").Range("A8:K20")
if len(trim(cell.Text)) > 0 then
Application.ScreenUpdating = False
Worksheets("continuation sheet").Visible = xlSheetVisible
Worksheets("continuation sheet").Printout
Worksheets("continuation sheet").Visible = xlSheetHidden
Application.ScreenUpdating = True
Exit for
End if
Next

End Sub
 
Tom
Thanks very much for your help thats sorted the problem.

Stuart
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top