View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.misc
scottfoxall scottfoxall is offline
external usenet poster
 
Posts: 40
Default Visual Basic Compile Error

Firstly, try declaring the variables by using the Dim statment. See if that
works, that the usual error under variables not delclared error message!

Function Calc_ME_Charges()


Dim x As Long, y As Long, Me_total As Long


'Initialize variables
x = 12
y = 6
ME_total = 0


'Loop through Travel Expenses
For Each Cells(x, y) In Cells(21, 24)
If Cells(x, y).Value = "ME" Then
ME_total = ME_total + Cells(x + 1, y + 1).Value
y = y + 3

'Check for end of row
If y = 27 Then
x = x + 1
'Reset y to beginning of row
y = 6
End If

End If
Loop





"k3639" wrote:

Yes, when I enable macros in the spreadsheet it immediately jumps to VB and
highlights the Cells Reference with a Compile Error, Variable Required unable
to assign to this expression.

When I try to locate the Cells Reference it says it is Hidden.

"scottfoxall" wrote:

I assume you start at y=6, then scan down 1 by 1 ? then if ="ME" get the
offset value (0,+1)?

"k3639" wrote:

I created an Expense Voucher spreadsheet that automatically calcs
reimbursements due,using the following code:

Function Calc_ME_Charges()

'Initialize variables
x = 12
y = 6
ME_total = 0


'Loop through Travel Expenses
For Each Cells(x, y) In Cells(21, 24)
If Cells(x, y).Value = "ME" Then
ME_total = ME_total + Cells(x + 1, y + 1).Value
y = y + 3

'Check for end of row
If y = 27 Then
x = x + 1
'Reset y to beginning of row
y = 6
End If

End If
Loop


I get a Visual Basic Compile Error: Variable Required - Can't Assign to
this expression, and I am unable to close out of VB. The result on the cells
in the Excel Spreadsheet is #NAME?. Any suggestions or ideas to resolve
would be appreciated.

Thanks!