Como decir que un dato no existe?

cgcamal

Active Member
Joined
May 2, 2007
Messages
472
Hola a todos,

Quisiera que me ayudaran con lo sig:

Tengo una tabla en excel, le agregue una macro con inputBox que pregunta que dato quiere ver(busca datos solo en columna C).

Qué hacer en el caso de que la palabra que se introduce en el inputbox no exista en la lista o haya sido mal escrita?, ya que si esto sucede la macro da error en tiempo de ejecución.


Muchas gracias,
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.
¡Bienvenido a MrExcel!

Ayudaría a nosotros ayudar a Usted si Usted podría proveer un poco del código VBA que pertenece. Favor use las etiquetas de Code.
 
Upvote 0
'PREGUNTAS:
'Me falla el código al trabajar DENTRO DEL INPUTBOX
'Lo que quiero hacer es:
'1)Al dar click en "Aceptar", quiero que aparezca:
"No introdujo ningun dato, intente de nuevo"
'2)Al dar click en "Cancelar", quiero que termine la ejecución de la macro.
'3)Si introduzco una palabra de menos de 4 caracteres que aparezca:

"La palabra es muy corta, favor introducir una palabra mayor de 4 caracteres"
'Nota:He intentado igualar la variable datos a False,"" y Empty y me funciona igual en cada caso y no es como lo deseo.


'CÓDIGO QUE TENGO HASTA EL MOMENTO PARA ESTO
'Dato = InputBox("Introduzca datos")

'If datos = Empty Then

'MsgBox " No introdujo ningun dato, intente de nuevo", vbExclamation

'ElseIf datos = False Then

'End If

'End


Nota:El error que me aparecia cuando introducía con error la palabra era el error 91 en tiempo de ejecución, ya que no encontraba la palabra, lo solucioné con un Error handler.

On Error GoTo Err_Handler

Err_Handler:
.
.
.


Saludos y muchas gracias.
 
Upvote 0
Es que hay dos funciones de InputBox. Una de VBA y una de Excel (Application.InputBox). Al usar CANCEL, la de VBA devuelve "" mientras la de Excel devuelve FALSE. Aquí hay una manera entre muchas posibles...
Code:
Sub mersive()
    Dim vDatos As Variant
    
    Do
        vDatos = Application.InputBox("Introduzca datos:", vDatos, , , , , , 2)
        Select Case True
            
            Case TypeName(vDatos) = "Boolean"
                
                MsgBox "¡Pues, me voy entonces!", vbExclamation, "¡Malagradecido!"
                Exit Sub
        
            
            Case Len(vDatos) = 0
            
                    MsgBox "¿Es que me parece o usted no puso nada?" & vbCr & _
                           "Intente otra vez.", vbQuestion
                                       
            Case Len(vDatos) < 4
            
                    MsgBox "Me parece un poco cortito." & vbCr & _
                           "Intente otra vez.", vbInformation
                           
        End Select
        
    Loop Until Len(vDatos) >= 4
        
End Sub
 
Upvote 0
Perfecto Greg!!!, muy amable por tu respuesta. Voy a probar la forma que me mostrás en tu ejemplo, me parece que no tendré este problema de nuevo. Bueno, en todo caso te cuento al rato.

PD: Están buenos esos MsgBox que pusiste de ejemplo, están graciosos!! hay que usarlos, jajajaj :-D
 
Upvote 0

Forum statistics

Threads
1,223,962
Messages
6,175,654
Members
452,664
Latest member
alpserbetli

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top