Respuesta
Herramientas Buscar en Tema Desplegado
post #1 (permalink) Antiguo 09-dic-2011, 17:41
Exclamation MsgBox en Columna
Estimados amigos,tengo en una hoja de excel una columna donde introdusco valores numericos los cuales normalmente son diez numeros,quiero que cuando ponga 11 numeros me aparesca un aviso de advertencia que diga " Solo puede introducir diez numeros"y que si le coloco letras tambien me salga una advertencia que diga "No se permite introducir letras",pense en un MSGBOX pero no se como aplicarlo a una columna.
Usuario Novato
Fecha de Ingreso: oct-08
Mensajes: 50
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
hfarias está desconectado
Responder Citando
post #2 (permalink) Antiguo 09-dic-2011, 18:20
Predeterminado
En primer lugar, necesitás una macro Worksheet.Change, para que se ejecute automáticamente al cargar datos.

Para la condición de no más de diez datos (suponiendo que se escriben en la columna A) la condición es:


c = Application.WorksheetFunction.Count(Range("A:A"))
If c > 10 Then
MsgBox ("No se pueden ingresar más de diez datos")
Target.Clear
End If

Para la condición de datos no numéricos:

If Not IsNumeric(Target.Value) Then
MsgBox ("Sólo se aceptan datos numéricos")
Target.Clear
End If
Usuario Normal
Fecha de Ingreso: mar-08
Mensajes: 315
Gracias dadas: 1
Agradecido 3 veces en 3 Mensajes
superplanilla está desconectado
Responder Citando
post #3 (permalink) Antiguo 14-dic-2011, 16:32
Exclamation MsgBox
Estimado claudio hago la macro como tu la has indicado y se ejecuta bien cuando pongo mas de diez numeros,pero cuando pongo 5,6,8,numeros tengo el problema que me sigue saliendo el MessageBox y no deberia hacerlo por cuanto el numero es menor a diez.
Que puede suceder.Gracias y espero tu respuesta
Usuario Novato
Fecha de Ingreso: oct-08
Mensajes: 50
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
hfarias está desconectado
Responder Citando
post #4 (permalink) Antiguo 14-dic-2011, 22:31
Predeterminado
¿Aparece el MsgBox siempre? Si no es así, ¿en qué casos ocurre eso, exactamente?
Usuario Normal
Fecha de Ingreso: mar-08
Mensajes: 315
Gracias dadas: 1
Agradecido 3 veces en 3 Mensajes
superplanilla está desconectado
Responder Citando
post #5 (permalink) Antiguo 15-dic-2011, 16:04
Exclamation MsgBox
Amigo siempre aparecece el MsgBox con menor o mayor cantidad de datos de los que se han puesto como condicion que es que no deben ser mayor a diez.
Gracias amigo y espero tu respuesta
Usuario Novato
Fecha de Ingreso: oct-08
Mensajes: 50
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
hfarias está desconectado
Responder Citando
post #6 (permalink) Antiguo 15-dic-2011, 21:46
Predeterminado
No entiendo. Si la condición es If c > 10 ¿para qué cantidad de datos aparece el MsgBox?
Usuario Normal
Fecha de Ingreso: mar-08
Mensajes: 315
Gracias dadas: 1
Agradecido 3 veces en 3 Mensajes
superplanilla está desconectado
Responder Citando
post #7 (permalink) Antiguo 15-dic-2011, 22:51
Exclamation MsgBox
Claudio te hago un ejemplo:
Columna C,coloco en la columna los siguientes numeros 1567893468,no me deberia salir el MsgBox con la advertencia.
Coloco el mismo numero ,con la misma cantidad y me sale la advertencia,lo hago con (11) numeros
15678934689,me sale la advertencia ,ahi esta bien.Ahora yo pongo 456987 es decir 6 numeros y me sale la advertencia.
Espero que lo entiendas,yo a la macro la hago asi

Fuction Public WorksheetChange_Click(Byval Target),no recuerdo bien en este momento,pero lo hago en la hoja.
Usuario Novato
Fecha de Ingreso: oct-08
Mensajes: 50
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
hfarias está desconectado
Responder Citando
post #8 (permalink) Antiguo 16-dic-2011, 07:18
Predeterminado
¿La limitación que querés es no más de diez números (uno por celda) o números de no más de diez dígitos?
Usuario Normal
Fecha de Ingreso: mar-08
Mensajes: 315
Gracias dadas: 1
Agradecido 3 veces en 3 Mensajes
superplanilla está desconectado
Responder Citando
post #9 (permalink) Antiguo 16-dic-2011, 16:47
Exclamation MsgBox
Claudio lo que quiero es una cifra de diez numeros en una celda o diez digitos y que me salga la advertencia cuando me equivoque y ponga once o doce digitos en una celda.
Usuario Novato
Fecha de Ingreso: oct-08
Mensajes: 50
Gracias dadas: 0
Agradecido 0 veces en 0 Mensajes
hfarias está desconectado
Responder Citando
post #10 (permalink) Antiguo 16-dic-2011, 17:33
Predeterminado
Había entendido mal. La macro sería algo así:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
c = Len(Target.Value)
If c > 10 Then
MsgBox ("Demasiado grande")
Target.Clear
End If
End If
End Sub

Si los datos son siempre numéricos, la condición se puede cambiar por Target.Value > 9999999999
Usuario Normal
Fecha de Ingreso: mar-08
Mensajes: 315
Gracias dadas: 1
Agradecido 3 veces en 3 Mensajes
superplanilla está desconectado
Responder Citando
Respuesta

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Ir al Foro


La franja horaria es GMT -3. Ahora son las 00:59.