Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 47
Default Cases/Set object to take coordinates of Print Range

I'm staring over with this post, and see if I can explain
it another way.

This procedure is taking a user choice from an option
button and attempting to assign a predefined print range
from the choice a user selects from one of five option
buttons.

I do know from stepping through this procedure that the
object printoption is taking on a value from the
line "printoption = myoption.caption" as shown below.
However, when it gets down to the cases, and attempts to
set the object "Printthisrange", it apparently isn't
happening like it should.

Therefore, when the procedure gets down to the
line "Printthisrange.select", it acts as if Printthisrange
was never populated, which it wasn't according to the
debug watch I put on this range.

I have played with it and Steve Bell has tried to help,
but it still doesn't work, so I just thought it might help
if I posted all I know about what is happening and what is
not happening.

Hope this help so someone can diagnose the problem I am
having.

__________________________________________________ _________


Private Sub btnprint1_Click()
Dim myOption As Control
Dim Printoption
Dim Printthisrange As Range

For Each myOption In Frame1.Controls
If myOption.Value = True Then
Printoption = myOption.Caption
End If
Next myOption

Select Case Printoption
Case 1
Printoption = "Cantera Natural Gas"
Set Printthisrange = Range("OBACGG")
Case 2
Printoption = "DEFS"
Set Printthisrange = Range("OBADEFS")
Case 3
Printoption = "Agave"
Set Printthisrange = Range("OBAAgave")
Case 4
Printoption = "TWML"
Set Printthisrange = Range("OBATWML")
Case 5
Printoption = "Print All OBA Pages"


End Select
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Printthisrange.Select
Unload Me
Selection.PrintPreview
Set Printthisrange = Nothing
Range("a1").Select


End Sub


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 576
Default Cases/Set object to take coordinates of Print Range

Bruce,

Guess I wasn't clear -
Instead of Case 1, Case 2 ....
You want Case "Cantera Natural Gas", Case "DEFS", etc.
And you can get rid of each of the Printoption = .... lines

I am not sure what to put in for all pages.

Also OBACGG, OBADEFS, OBAAgave, OBATWML
MUST be defined names on the worksheet!

This works for me...

steve
---------------------------------------------------
Select Case Printoption
Case "Cantera Natural Gas"
Set Printthisrange = Range("OBACGG")
Case "DEFS"
Set Printthisrange = Range("OBADEFS")
Case "Agave"
Set Printthisrange = Range("OBAAgave")
Case "TWML"
Set Printthisrange = Range("OBATWML")
Case "Print All OBA Pages"
Set Printthisrange = Range(????????)
End Select

"Bruce Roberson" wrote in message
...
I'm staring over with this post, and see if I can explain
it another way.

This procedure is taking a user choice from an option
button and attempting to assign a predefined print range
from the choice a user selects from one of five option
buttons.

I do know from stepping through this procedure that the
object printoption is taking on a value from the
line "printoption = myoption.caption" as shown below.
However, when it gets down to the cases, and attempts to
set the object "Printthisrange", it apparently isn't
happening like it should.

Therefore, when the procedure gets down to the
line "Printthisrange.select", it acts as if Printthisrange
was never populated, which it wasn't according to the
debug watch I put on this range.

I have played with it and Steve Bell has tried to help,
but it still doesn't work, so I just thought it might help
if I posted all I know about what is happening and what is
not happening.

Hope this help so someone can diagnose the problem I am
having.

__________________________________________________ _________


Private Sub btnprint1_Click()
Dim myOption As Control
Dim Printoption
Dim Printthisrange As Range

For Each myOption In Frame1.Controls
If myOption.Value = True Then
Printoption = myOption.Caption
End If
Next myOption

Select Case Printoption
Case 1
Printoption = "Cantera Natural Gas"
Set Printthisrange = Range("OBACGG")
Case 2
Printoption = "DEFS"
Set Printthisrange = Range("OBADEFS")
Case 3
Printoption = "Agave"
Set Printthisrange = Range("OBAAgave")
Case 4
Printoption = "TWML"
Set Printthisrange = Range("OBATWML")
Case 5
Printoption = "Print All OBA Pages"


End Select
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Printthisrange.Select
Unload Me
Selection.PrintPreview
Set Printthisrange = Nothing
Range("a1").Select


End Sub




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 47
Default Cases/Set object to take coordinates of Print Range

Well, you would of thought that would be the end of this
problem. However......

Printthisrange still refused to work with this approach
so..... I got some more help and I have gotten a little
farther with the following procedure.


Private Sub btnprint1_Click()
Dim Printthisrange

Select Case True
Case OptCNGOBA.Value
Set Printthisrange = Range("OBACGG")
Case OptDEFSOBA.Value
Set Printthisrange = Range("OBADEFS")
Case OptAgaveOBA.Value
Set Printthisrange = Range("OBAAgave")
Case OptTWMLOBA.Value
Set Printthisrange = Range("OBATWML")

This way it tests for a true value on the option button,
and then it actually set the printrange like it was
supposed to.

The rest of the procedure is what I'm experimenting with
right now. I can get it to print preview the range, but I
am having trouble with the fact that each range is on a
separate sheet, and I need to select either the range or
the worksheet so I can do a with statement for the
formatting. For some reason, the statement

"Printthisrange.select" sometimes refuses to select as I
select it when testing it with each option. It just gives
me this run time error '1004': and then the next line of
the box says "Select method of Range class failed"

Maybe I have to hold my tongue a certain way perhaps for
this to work on each time?

This is the full procedure as I have it now:

Private Sub btnprint1_Click()
Dim Printthisrange

Select Case True
Case OptCNGOBA.Value
Set Printthisrange = Range("OBACGG")
Case OptDEFSOBA.Value
Set Printthisrange = Range("OBADEFS")
Case OptAgaveOBA.Value
Set Printthisrange = Range("OBAAgave")
Case OptTWMLOBA.Value
Set Printthisrange = Range("OBATWML")

End Select
Printthisrange.Select
'With Worksheets(Printthisrange.Parent.bane).PageSetup
' .PrintTitleRows = ""
' .PaperSize = xlPaperLegal
' .FitToPagesWide = 1
' .FitToPagesTall = 1
' .Orientation = xlLandscape
'End With
Unload Me
Printthisrange.PrintPreview
Printthisrange = "Nothing"
Range("a1").Select


End Sub











Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Formula for Cases=144 * # of Cases + Pieces Inventory Formula Excel Discussion (Misc queries) 2 December 29th 09 09:09 PM
Used to be able to attach range of labels to xy coordinates - no m 2007 Excels sucks99999[_2_] Charts and Charting in Excel 1 October 24th 09 11:06 AM
Print Word Object in Excel Mac Excel Discussion (Misc queries) 7 March 2nd 07 05:12 PM
Excel Addin:Setting the range to the Excel.Range object range prop Rp007 Excel Worksheet Functions 5 November 24th 06 04:30 PM
Print Macro : Object not set Ugleeduck Excel Programming 2 July 19th 03 11:10 PM


All times are GMT +1. The time now is 08:09 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"