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!
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.
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!