Foros del Web » Soporte técnico » Ofimática »

¿como validar el contenido de una celda en excel?

Estas en el tema de ¿como validar el contenido de una celda en excel? en el foro de Ofimática en Foros del Web. Buenos días Estoy elaborando un ficherito para facilitarme la vida en el trabajo y me he topado con un problema que paso a detallaros por ...
  #1 (permalink)  
Antiguo 25/02/2010, 03:49
 
Fecha de Ingreso: diciembre-2009
Mensajes: 24
Antigüedad: 14 años, 4 meses
Puntos: 0
¿como validar el contenido de una celda en excel?

Buenos días

Estoy elaborando un ficherito para facilitarme la vida en el trabajo y me he topado con un problema que paso a detallaros por si alguno pudiera ayudarme.

Pues bien, el caso es que me gustaría evitar que en una celda se tecleara cualquiera de los siguientes valores:

\/:%'*?<>|"

He probado ha hacerlo con la opción: Datos--> Validación, pero no encuentro manera de permitir cualquier valor (alfanumérico o símbolo) y a la vez prohibir el uso de los anteriormente citados.

¿Alguien ha tenido alguna vez este mismo problema?

Muchas gracias a todos
  #2 (permalink)  
Antiguo 25/02/2010, 11:11
 
Fecha de Ingreso: diciembre-2009
Mensajes: 24
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ¿como validar el contenido de una celda en excel?

Hola,

Buenas tardes a todos.

He localizado una formula que a priori permite realizar, en parte, lo que necesito:

=SI(E1="!",0,1)

Pero me surge la duda de como incluir en esta formula mas caracteres prohibidos, por ejemplo * ' / \ % , etc...

¿Alguien puede indicarme como modificar la formula para que no solo controle el símbolo "!" ?

Muchas gracias
  #3 (permalink)  
Antiguo 26/02/2010, 11:26
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo ¿como validar el contenido de una celda en excel?

Hola! Coopérnico46.
La validación de datos " no se lleva bien" con listas de lo que "no" se debe permitir...
En realidad: debes indicarle lo que SÍ se debe permitir.

Por lo tanto la alternativa sería manejar el tema desde el evento Change de la hoja. Por ejemplo:

a) Haz clic con el botón derecho de tu ratón en la solapa de la hoja y selecciona Ver código.

b) En la ventana que se te abrirá, copia y pega lo siguiente:
Código vba:
Ver original
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Address <> "$E$1" Then Exit Sub
  3.  
  4. If Evaluate("SUMPRODUCT( --ISNUMBER( SEARCH({""\"",""/"","":"",""%"",""'"",""~*"",""~?"",""<"","">"",""|"",""""""""}, E1) ) )") > 0 Then
  5.   With Application
  6.     .EnableEvents = False
  7.     .Undo
  8.     .EnableEvents = True
  9.   End With
  10. End If
  11.  
  12. End Sub
c) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras y retorna al Excel.

d) A partir de ese momento, ninguno de los 11 caracteres que indicaras será permitido en la celda [E1].

Saludos, Cacho.

Última edición por mrocf; 12/03/2010 a las 07:58
  #4 (permalink)  
Antiguo 12/03/2010, 06:10
 
Fecha de Ingreso: diciembre-2009
Mensajes: 24
Antigüedad: 14 años, 4 meses
Puntos: 0
De acuerdo Respuesta: ¿como validar el contenido de una celda en excel?

Muchas Gracias MRcof

Es lo que necesitaba.
Unicamente, dado que no tengo ni idea de programación... ¿podria hacerte una consulta más?

Tras incorporar tu código no si introduzco alguno de los 11 caracteres prohibidos me lo borra directamente. ¿se puede modificar tu código para que muestre una ventana de error con un texto indicativo del tipo "caracter no valido" o similar?

Por ultimo, si fueras tan amable, ¿podrias indicarme también qué modificación habría que incluir en el código para extender las celdas con estas prohibiciones de la celda E1 a la E100?

Muchísimas gracias por todo.
Un saludo
  #5 (permalink)  
Antiguo 12/03/2010, 07:57
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: ¿como validar el contenido de una celda en excel?

Hola! Coopérnico46.

Podrías intentar con:
Código vba:
Ver original
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Intersect(Target, [e1:e100]) Is Nothing Then Exit Sub
  3.  
  4. If Evaluate("SUMPRODUCT( --ISNUMBER( SEARCH({""\"",""/"","":"",""%"",""'"",""~*"",""~?"",""<"","">"",""|"",""""""""}, " & Target.Address & ") ) )") > 0 Then
  5.   MsgBox "Se ha introducido un caracter inválido..."
  6. End If
  7. End Sub
Saludos, Cacho.
  #6 (permalink)  
Antiguo 12/03/2010, 08:19
 
Fecha de Ingreso: diciembre-2009
Mensajes: 24
Antigüedad: 14 años, 4 meses
Puntos: 0
De acuerdo Respuesta: ¿como validar el contenido de una celda en excel?

Muchas gracias por la respuesta.


Eres un genio
  #7 (permalink)  
Antiguo 12/03/2010, 08:40
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: ¿como validar el contenido de una celda en excel?

¡Qué bueno que te haya sido de utilidad...!

Saludos, Cacho.
  #8 (permalink)  
Antiguo 01/03/2011, 16:08
 
Fecha de Ingreso: marzo-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: ¿como validar el contenido de una celda en excel?

buenas estaba estudiando el foro y me ha servido mucho para crear un formulario de base de datos

me preguntaba si alguien me puede ayudar con una duda que tengo?

quiero que en una celda se ingrese este tipo de texto A-1 908283 es un id personal como un seguro social, pero cuando escriban cualquier texto ejemplo 0, no hay, extraviado, etc, no deje escribir nada, como cuando uno da validacion de datos y pone regla.

si alguien me puede ayudar se los agradecere mucho gracias

Etiquetas: celda, contenido, excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:34.