Asignar a una variable el valor del resultado de la formula sin capturarlo de otra celda

Hola,

En una celda B3 tengo una formula que hace referencia a celdas de otras hojas, normalmente capturo el valor de dicha celda a una variable.

La macro que uso es

Sub ValorAVariable()
Dim ValorDeCelda As String
ValorDeCelda = ActiveCell.Value
MsgBox ValorDeCelda
End Sub

1. ¿Como puedo obtener dicho valor directamente en la variable sin necesidad de la celda B3?

2. ¿Cómo puedo obtener el valor si la hoja 2 estuviera ya no estuviera en el LIBRO1.XLS sino en LIBROdos.XLS

GRACIAS

1 Respuesta

Respuesta

Espero estés de maravilla.

Te paso una formula para que pongas en B3. Con esto solucionarías tu problema.

=SI(A3=1;"Carlos";SI(A3=2;"Alberto";SI(A3=3;"Carolina")))

Hola Lucas,

gracias por tu respuesta, pero... no es de mucha ayuda.

Excel y sus funciones creo que manejo bastante bien, la formula que proporcionas no es funcional pues la idea es trabajar con mas de 100 nombres.

Lo que estaba solicitando es con MACROS:

Ahora uso funciones y obtengo un nombre en la celda B3 en la Hoja1 al colocar un número (código) en la celda A3 de la misma hoja, dicho nombre corresponder al rango Personas de la hoja2.

La idea es que el dato obtenido con la fórmula

=BUSCARV(A3,personas,2,falso)

lo obtenga directamente a una variable de macros para posteriormente hacer uso de dicho dato sin necesitar de la CELDA B3

De todos modos gracias por tu aporte.

Espero estés de maravilla!

Por lo que veo sos usuario bastante frecuente de Excel por lo que entiendo que podrás adapar la siguiente macro a tus necesidades:

Sub Buscar()

Dim RESULTADO As Variant
RESULTADO = Application.VLookup(Range("A3"), Range("C5:D8"), 2, False)
If IsError(RESULTADO) Then
Exit Sub
Else
MsgBox RESULTADO
End If
End Sub

'=BUSCARV(A3,personas,2,falso)

'Range("A3") = A3

'personas = supongo que es Range("C5:D8")

Bendiciones!

Lucas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas