Home |
Search |
Today's Posts |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
What I would do is change the hittaRubriker sub to a function that returns
the cell found as a range object, and use that throughout. Here is an example Sub chartID(i As Integer) Dim s As String, t As String Dim foundCell As Range If i = 0 Then s = "Mod Dur" t = "test" End If Call findAndRemoveBlanks(s) Set foundCell = hittaRubriker(s, t) If Not foundCell Is Nothing Then MsgBox "chartID: " & foundCell.Address End If End Sub Public Sub findAndRemoveBlanks(ByRef s As String) Dim WB As Workbook Dim SH As Worksheet Dim rng, rCell As Range End Sub Private Function hittaRubriker(ByVal s As String, _ ByVal t As String) As Range Set hittaRubriker = ActiveSheet.Cells.Find(s & t) If Not hittaRubriker Is Nothing Then MsgBox "hittaRubriker: " & hittaRubriker.Address End If End Function -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Fabrizio" wrote in message ... Great! Thank you very much Mr Philips! However I found out that I might need to change the code a bit. The problem is that the Sub hittaRubriker(s,t) searches spreadsheet for the cell that contains the info in the strings s and t. However the address of these cells are later required. Is there any way to solve this. Shall I define the strings as objects instead? If so how do I assign values to them. Any assistance that you may provide is always very much appreciated. Code: Private Sub hittaRubriker(s, t As String) Dim rng1, rng2, rng3 As Range Set rng1 = Worksheets(s).Cells.Find(t, LookIn:=xlValues) Call chartMaker(s, t) End Sub Sub chartMaker(s, t As String) i = 1 Do Until IsEmpty(t.Offset(i, 0)) = True Or t.Offset(i, 0).Text = strStartDatumArray(1) = True i = i + 1 Loop ..... End Sub "Bob Phillips" skrev: Change the first jmacro Sub chartID(i As Integer) Dim s As String, t As String If i = 0 Then s = "Mod Dur" t= "test" Call findAndRemoveBlanks(s) Call hittaRubriker(s, t) -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Fabrizio" wrote in message ... OK I get this error message "type mixturte in ByReference argument". The code is: Sub chartID(i As Integer) Dim s, t As String If i = 0 Then s = "Mod Dur" t= "test" Call findAndRemoveBlanks(s) Call hittaRubriker(s, t) ........ Public Sub findAndRemoveBlanks(s As String) Dim WB As Workbook Dim SH As Worksheet Dim rng, rCell As Range ........... Private Sub hittaRubriker(s, t As String) MsgBox t MsgBox s see the first sub chartID gets an integer i. This sub then defines the strings s and t and then calls first one sub and passes s. then it calls another sub and passes both s and t. There is something wrong here but I dont know where... all subs that are called takes string. please help me. Yours sincerly Fabrizio S |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Error in the argument type in french NO.SEMAINE help | Excel Discussion (Misc queries) | |||
vlookup argument type | Excel Worksheet Functions | |||
ByRef argument type mismatch error? | Excel Programming | |||
How to add an argument to every cell in a range containing same type formula?? | Excel Programming | |||
type variable as argument of a sub | Excel Programming |