Calling Sub difficulty
Hi Giselle,
You need to declare two Range variable to to Set them. Also you each
Range variable must have it' own individual name. I 've made changes to your
Subroutine Commom() (See code below)
Good Luck...
Rick
Sub Common(R1 as String, R2 as String)
Dim RangeToWorkOn_1 as Range
Dim RangeToWorkOn_2 as Range
with worksheets("Sheet99") 'or Activesheet ????
Set RangeToWorkOn_1 = .Range(R1)
Set StringToWorkOn_2 = .Range(R2)
end with
'xxxxxxxx common code goes in here
End Sub
"Giselle" wrote in message
...
Hello XLers
I'm quite new to Excel, and need some newbie help. Dave Peterson was very
helpful when I posed this a week ago, giving the code below. I arrived
back
in town today, and I just can't get the second procedure to work.
Basically, my worksheet contains form buttons (actually 5). When clicked,
they will run Giselle that, in turn, calls Common.
MyQuestion: I keep getting error msgs at the Set lines. (Compile Error:
variable not defined. If I provide Dim statements, I still get Compile
Error: Object required.) I'm not even sure why I would need these
lines???
Could someone show me how to get the 2nd procedure to work. (perhaps you
could even replace the " 'xxxxxxx common code goes here" line with a
simple
task such as coloring the cells of R1 red and printing the text in R2 in
cell A1)
Dave's excellent code!
Option Explicit
Sub Giselle()
Dim R1 as String
Dim R2 as string
R1 = ""
R2 = ""
Select Case lcase(Application.Caller)
Case "button 1"
R1 = "D5:J25"
R2 = "Ford"
Case "button 2"
R1 = "J5:K25"
R2 = "Chrysler"
End Select
If R1 = "" then
beep
msgbox "Design error. See Giselle!
exit sub
End if
call Common(R1,R2)
End Sub
Sub Common(R1 as String, R2 as String)
with worksheets("Sheet99") 'or Activesheet ????
Set RangeToWorkOn = .Range(R1)
Set StringToWorkOn = .Range(R2)
end with
'xxxxxxxx common code goes in here
End Sub
THANKYOU very much for any assistance
Giselle
|