for each error

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I'm getting a variable not defined error using the following code:

Option Explicit
Private Sub UserForm_Activate()
For Each cell In Range("cpName")
If cell.Value <> "" Then
lstMnemonic.AddItem cell.Value
End If
Next cell
End Sub

The same code works to populate another list box. Why am I getting this
error?
 
The same code works to populate another list box. Why am I getting this

The difference is the "Option Explicit" statement which requires all
variables to be declared.

Try:

Option Explicit
Private Sub UserForm_Activate()
Dim cell As Range
For Each cell In Range("cpName")
If cell.Value <> "" Then
lstMnemonic.AddItem cell.Value
End If
Next cell
End Sub



Regards,
KL
 
YOu have option explicit at the top of your code which means that you have to
declare all of your variables. That by the way is a good thing and maked
debugging a lot easier. To fix the code you need to declare cell as a range
object

Option Explicit
Private Sub UserForm_Activate()
dim cell as range 'Here is the range object declaration
For Each cell In Range("cpName")
If cell.Value <> "" Then
lstMnemonic.AddItem cell.Value
End If
Next cell
End Sub
 
thanks for the reply. I thought I had used option explicit in the other code
as well so it didn't make sense to me that one would give me the error and
the other wouldn't. But as it turns out, I was wrong. I had neglected to
include option explicit. THanks again.
 
Back
Top