ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Offset not working with variable (https://www.excelbanter.com/excel-programming/391085-offset-not-working-variable.html)

B[_5_]

Offset not working with variable
 
I'm trying to use Offest with a variable as the row offset. When run,
the line does nothing. When I replace the variable with an integer,
it works fine. Heres the code:

' This is where the variable is assigned a value
If InStr(1, UCase(ActiveCell.Offset(0, i).Value), "HOURS") 0 Then
HoursCol = ActiveCell.Offset(0, i).Column

' It then gets passed to this sub
Public Sub FindWrapperTotals(...HoursCol As Integer, ...)

' Used he
MsgBox ("HoursCol = " & HoursCol)
HoursNum = ActiveCell.Offset(0, HoursCol - 1).Value
MsgBox ("HoursNum = " & HoursNum)


When run, the first message box says "HoursCol = 8", which is correct,
and the second message box says "HoursNum = ". When I replace
"HoursCol - 1" with an integer, it does exactly what I need...but of
course, life isn't simple enough to always use integers. Thanks in
advance for any advice.


Mike H

Offset not working with variable
 
How have you declared the variable? If you are passing it between subroutines
then it needs to be public

Public i As Integer

Mike

"B" wrote:

I'm trying to use Offest with a variable as the row offset. When run,
the line does nothing. When I replace the variable with an integer,
it works fine. Heres the code:

' This is where the variable is assigned a value
If InStr(1, UCase(ActiveCell.Offset(0, i).Value), "HOURS") 0 Then
HoursCol = ActiveCell.Offset(0, i).Column

' It then gets passed to this sub
Public Sub FindWrapperTotals(...HoursCol As Integer, ...)

' Used he
MsgBox ("HoursCol = " & HoursCol)
HoursNum = ActiveCell.Offset(0, HoursCol - 1).Value
MsgBox ("HoursNum = " & HoursNum)


When run, the first message box says "HoursCol = 8", which is correct,
and the second message box says "HoursNum = ". When I replace
"HoursCol - 1" with an integer, it does exactly what I need...but of
course, life isn't simple enough to always use integers. Thanks in
advance for any advice.



B[_5_]

Offset not working with variable
 
I might need to clarify that in the code I posted, there are two times
where Offset is used with a variable. The variable I'm having trouble
with is "HoursCol." But in response, the variable is public.


On Jun 11, 8:52 am, Mike H wrote:
How have you declared the variable? If you are passing it between subroutines
then it needs to be public

Public i As Integer

Mike



"B" wrote:
I'm trying to use Offest with a variable as the row offset. When run,
the line does nothing. When I replace the variable with an integer,
it works fine. Heres the code:


' This is where the variable is assigned a value
If InStr(1, UCase(ActiveCell.Offset(0, i).Value), "HOURS") 0 Then
HoursCol = ActiveCell.Offset(0, i).Column


' It then gets passed to this sub
Public Sub FindWrapperTotals(...HoursCol As Integer, ...)


' Used he
MsgBox ("HoursCol = " & HoursCol)
HoursNum = ActiveCell.Offset(0, HoursCol - 1).Value
MsgBox ("HoursNum = " & HoursNum)


When run, the first message box says "HoursCol = 8", which is correct,
and the second message box says "HoursNum = ". When I replace
"HoursCol - 1" with an integer, it does exactly what I need...but of
course, life isn't simple enough to always use integers. Thanks in
advance for any advice.- Hide quoted text -


- Show quoted text -




B[_5_]

Offset not working with variable
 
Turns out it was working, and I had another mistake in my code causing
it to look like it wasnt working.

Silly me.



On Jun 11, 9:38 am, B wrote:
I might need to clarify that in the code I posted, there are two times
whereOffsetis used with avariable. ThevariableI'm having trouble
with is "HoursCol." But in response, thevariableis public.

On Jun 11, 8:52 am, Mike H wrote:



How have you declared thevariable? If you are passing it between subroutines
then it needs to be public


Public i As Integer


Mike


"B" wrote:
I'm trying to use Offest with avariableas the rowoffset. When run,
the line does nothing. When I replace thevariablewith an integer,
it works fine. Heres the code:


' This is where thevariableis assigned a value
If InStr(1, UCase(ActiveCell.Offset(0, i).Value), "HOURS") 0 Then
HoursCol = ActiveCell.Offset(0, i).Column


' It then gets passed to this sub
Public Sub FindWrapperTotals(...HoursCol As Integer, ...)


' Used he
MsgBox ("HoursCol = " & HoursCol)
HoursNum = ActiveCell.Offset(0, HoursCol - 1).Value
MsgBox ("HoursNum = " & HoursNum)


When run, the first message box says "HoursCol = 8", which is correct,
and the second message box says "HoursNum = ". When I replace
"HoursCol - 1" with an integer, it does exactly what I need...but of
course, life isn't simple enough to always use integers. Thanks in
advance for any advice.- Hide quoted text -


- Show quoted text -- Hide quoted text -


- Show quoted text -





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

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