¿Convertir fórmula de excel en VBA?

Realizo un procedimiento manual con esta fórmula SI. Error(si(buscarv(f2;diplomáticos!$B$1:$E$1194;1;0);"si esta");"no esta") y me gustaría realizarlo a través de VBA. La fórmula es a partir de la COLUMNA Z A PARTIR DE LA FILA 2 hasta la fila 2000.

1 Respuesta

Respuesta
1

[Hola

Para no hacer propuestas que no den resultado, sugiero colocar el archivo en algún Drive y compartir por aquí el enlace. No es necesario dejar todos los datos y si crees que son privados, cámbialos, pero solo de tal modo que pueda reproducirse tu necesidad.

Abraham Valencia

Este es un ejercicio hipotético, el cual estoy trabajando un archivo con un paso a paso. En la Hoja 2 tengo una columna formulada la H, en el ejemplo real es la Z. El rango del ejemplo es corto, pero lo ideal es hasta la Z1000.

Lo que deseo realizar es colocar un botón con CommandBut en el Menu que al darle clic me realice la función de la Fórmula en la Columna H de la Hoja 2, y eliminar la fórmula. Ya te adjunto el link

No necesariamente hay que buscar el equivalente exacto a una fórmula para lograr lo que se necesita. Prueba así:

Sub BuscarDato()
Dim Celda As Range, CeldaEncontrada  As Range
Dim UltimaFila1 As Long, UltimaFila2 As Long
Let UltimaFila1 = Worksheets("Hoja2").Cells(Rows.Count, 6).End(xlUp).Row
Let UltimaFila2 = Worksheets("Hoja1").Cells(Rows.Count, 2).End(xlUp).Row
For Each Celda In Worksheets("Hoja2").Range("F2:F" & UltimaFila1)
    Set CeldaEncontrada = Worksheets("Hoja1").Range("B2:B" & UltimaFila2).Find(Celda.Value)
    If Not CeldaEncontrada Is Nothing Then
        Celda.Offset(0, 2) = "Sí está"
    Else
        Celda.Offset(0, 2) = "No está"
    End If
Next Celda
End Sub

Prueba y comentas.

Abraham Valencia

Me funciono perfectamente, mil gracias. Quería también con otro código de macro filtrar por los que si están. ¿Hay posibilidad?

Que bueno que te funcionó. Sobre tu otra pregunta, ya te había sugerido usar la grabadora de macros en dónde la realizaste, no se debe usar post distintos para preguntas diferentes.

Abraham Valencia

Listo ya genero otra pregunta. Intente de dos formas y no me funciono.

Listo, entonces estaré pendiente.

Abraham Valencia

Abraham es que moví el dato de si esta o no esta a la columna Z en el documento original. ¿Pero me sigue dando el resultado en la H. Donde cambio la columna ya que no pude identificar?

El uso de macros (VBA) implica no solo copiar/pegar sino, sobre todo, entenderlas. Si entiendes qué hace cada línea de esa macro, pues no sería gran problema adaptarla a la forma en que has cambiado tus datos.

Abraham Valencia

Si hice los cambios en los nombres de hojas y columnas, pero específicamente cambiar la columna H por la Z no lo pude identificar. Mil gracias si me puedes colaborar

Soy principiante en el tema y trato de aprender a través de foros. Esta parte no la pude identificar como lograr el cambio 

Celda es una variable en esa macro, dicha variable va cogiendo valor en la columna F debido al For Each, luego a través de OffSet se envía el valor correspondiente a la misma fila pero dos celdas a la derecha (0,2) de la variable "Celda", es decir, de F a H, entonces, solo cambia el 2 del Offset a donde corresponda Z... claro, siempre y cuando también se mantenga en F el código.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas