Para empezar no sé:
Que es el "con" que tienes en el for
Dónde las variables toman valores diferentes a 0
De dónde sale e
Por lo pronto te informo que le hice algunas modificaciones a tu código y creo que ahí tendrás la respuesta, si no es así me avisas, te pongo el código y lo explico a continuación.
b = 0
c = 0
h = 0
For b = 1 To con
Cells(b, 2).Select
If ActiveCell = "Valor 500" Or _
ActiveCell = "Ventana 2" Or _
ActiveCell = "Alguno" Or _
ActiveCell = "Algun otro" Or _
ActiveCell = "Otro Cualquiera" Or _
ActiveCell = "Cualquiera" Or _
ActiveCell = "En fin" Then
Cells(e, 5) = ActiveCell
e = e + 1
Else
Cells(h, 8) = ActiveCell
h = h + 1
End If
Next
Lo que creo que te será un poco enrredoso, te lo explico
* El valor de la celda activa lo tienes en ActiveCell sin necesidad de copiar, lo puedes evaluar, asignar o igualar, es decir:
Evaluar If ActiveCell="Dato" then esto entrega verdadero o falso
Asignar ActiveCell="Dato" esto asigna el String "Dato"
Igualar c = ActiveCell esto iguala la variable c al valor de ActiveCell
* La forma Cells(Fila,Columna) es apartir de:
A1= Cells(1,1)
A2=Cells(2,1)
B1=Cells(1,2) y así suicesivamente
Y como ya lo viste puedes asignarle variables.
Por otro lado lo de la buscada te lo pongo de esta otra manera:
If ActiveCell.Find(What:="v500") <> "" Then
ActiveCell = "calle sin número"
End If
Donde puedes cambiar en la línea ActiveCell = "calle sin numero" por Cells(Fila,Columna
)="calle sin número"
Si el String "calle sin número" lo quieres en otra celda que no sea la activa.
Bueno pues creo que es todo, si necesitas más ayuda, o me lo haces saber por este medio o me posteas en mi web
http://gregorio.aleux.com en la categoría de Macros, un placer ayudarte, hasta pronto.