AYUDA CON UNA MACRO BASTANTE BÁSICA

3 envíos / 0 nuevos
Último envío
david007
Imagen de david007
Offline
última acción: Hace 4 años 4 meses
alta: 12/11/2019 - 16:17
Puntos: 35
AYUDA CON UNA MACRO BASTANTE BÁSICA

Buenas tardes, estoy empezando en el mundillo del Vba y las macros y necesito una pequeña ayudilla..

Como podría indicarle a una macro lo siguiente:
- Si el valor introducido en la celda C9 de la hoja1 NO ES IGUAL a uno de los valores de la columna2 de la Hoja2, entonces MsgBox "USUARIO NO AUTORIZADO" .

 He hecho un sencillo formulario de consulta con imágenes para consultar los vehículos autorizados de un párquing, y para ello me he servido de un par de macros y alguna fórmula de BuscarV y Condicional. Pero todo ello con ayuda de la grabadora de macros y auto aprendizaje de lo que he ido aprendiendo en foros. De ahí mi consulta

Muchas gracias de antemano!

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 días 8 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Para saber si un valor está o

Para saber si un valor está o no dentro de un rango, yo utilizo la función COINCIDIR

Si encuentra el valor devolverá como resultado un número, si no lo encuentra dará un error

en VBA esta función la puedes utilizar con Application.WorksheetFunction.Match(...

por ejemplo, esta función te dirá si el valor está o no entre los buscados:

Function TenemosEsteValor(valorbuscado) As Boolean

    ' verdadero si encuentra el valor en la columna C de la hoja 2

    On Error GoTo TrataError

    TenemosEsteValor = Application.WorksheetFunction.Match(valorbuscado, ThisWorkbook.Worksheets("Hoja2").Range("C:C"), 0) > 0

    Exit Function

TrataError:

    'no lo encuentra

    TenemosEsteValor = False

End Function

 

Y para mostrar un mensaje, pues...

    If Not TenemosEsteValor(ThisWorkbook.Worksheets("Hoja1").Range("C9").Value) Then

        MsgBox "USUARIO NO AUTORIZADO", vbOKOnly + vbCritical, "necesitomas.com"

    End If


 

------
Ya sé Excel, pero necesito más.

david007
Imagen de david007
Offline
última acción: Hace 4 años 4 meses
alta: 12/11/2019 - 16:17
Puntos: 35
Muchísimas gracias Paco! me

Muchísimas gracias Paco! me ha ido genial! Da gusto dar con gente asi! Mil gracias! A ver si me pongo las pilas en este mundillo del Vba!