View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.misc
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Visual Basic Compile Error

This line doesn't make sense to me:

For Each Cells(x, y) In Cells(21, 24)

Cells(21,24) is one cell--so why try to loop.

But worse, cells(x,y) is a specific cell in the worksheet. It's not a variable
that you can use in the for/next loop.

More normal samples would look like:

dim myCell as range
for each mycell in worksheets("sheet1").range("a1:a99")

But I don't understand what you're really doing.





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!


--

Dave Peterson