Autor Tema: Preguntita sobre excel.  (Leído 2770 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Azarías

  • The Communiter-
  • *
  • Mensajes: 1212
  • No hay camino a la paz, La paz es el camino...
Preguntita sobre excel.
« : marzo 26, 2011, 10:40:15 am »
Alguien sabe como puedo validar una celda para que solo pueda escribir caracteres ( letras ) y ningun otro tipo de dato en ella, ya estuve buscando en inter pero no encuento nada en concreto.
Lo q necesito es q esa celda solo me acepte nombres por decir algo.

De antemano agradezco su valiosa colaboración.  :thumbsup: :thumbsup:
Antes Raphaxto, hoy Azarías (Tobías 12,15)

Desconectado chester08

  • Sv Member
  • ***
  • Mensajes: 400
  • ahora tengo otro motivo para no dormir... thnks
    • My Web site
Re: Preguntita sobre excel.
« Respuesta #1 : marzo 26, 2011, 10:52:25 am »
Bueno lo que puedes hacer es  (excel 2007):

Seleccionar la celda que quieres validar.
Después te vas a la Ficha Datos --> y en el grupo "Herramientas de datos",  selecciondas el comando "Validacion de datos"

y ahi en el "Criterio de Evaluacion"
seleccionas si quieres
  • Numero
  • Decimales
  • Fecha
  • Texto
  • Hora
  • Personalizado


Espero haberte ayudado  :drinks:
------------------- Ch3st3r08-----------------------

Desconectado papalota

  • The Communiter-
  • *
  • Mensajes: 1063
Re: Preguntita sobre excel.
« Respuesta #2 : marzo 26, 2011, 11:00:30 am »
A mi no me sale criterio de evaluacion x_x
"Los metaleros de clase baja, tienden a ser focas"
Anónimo

Desconectado gcastellanos

  • Sv Member
  • ***
  • Mensajes: 196
    • Enter Computadoras
Re: Preguntita sobre excel.
« Respuesta #3 : marzo 26, 2011, 11:12:12 am »
Porque lo que hago, no lo entiendo; pues no hago lo que quiero, sino lo que aborrezco, eso hago. (Rom. 7:15)

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
Re: Preguntita sobre excel.
« Respuesta #4 : marzo 26, 2011, 11:16:49 am »
En la hoja donde tienes la celda a validar, le das click derecho en "ver codigo", insertas este codigo

Código: [Seleccionar]
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$E$1" Then Exit Sub
     
    If Evaluate("SUMPRODUCT( --ISNUMBER( SEARCH({""1"",""2"",""3"",""4"",""5"",""6"",""7"",""8"",""9"",""""""""}, E1) ) )") > 0 Then
      With Application
        .EnableEvents = False
        .Undo
        .EnableEvents = True
      End With
    End If
     
    End Sub

asi no se podra insertar ningun numero en esa celda

nota: en este ejemplo "E1"

Desconectado Azarías

  • The Communiter-
  • *
  • Mensajes: 1212
  • No hay camino a la paz, La paz es el camino...
Re: Preguntita sobre excel.
« Respuesta #5 : marzo 26, 2011, 11:45:06 am »
Les agradezco sus aportes, pero aun sigo teiendo problemas, amigo el codigo q me pones ahi es de macros y aun asi no hace lo q deberia hacer x_x
Antes Raphaxto, hoy Azarías (Tobías 12,15)

Desconectado chester08

  • Sv Member
  • ***
  • Mensajes: 400
  • ahora tengo otro motivo para no dormir... thnks
    • My Web site
Re: Preguntita sobre excel.
« Respuesta #6 : marzo 26, 2011, 11:53:25 am »
Les agradezco sus aportes, pero aun sigo teiendo problemas, amigo el codigo q me pones ahi es de macros y aun asi no hace lo q deberia hacer x_x

EDIT: ¿y q es lo que no te funciona pues?
probe el codigo de mil123 y pues , hace lo que vos pediste.
(no lo habia visto antes XD  :phew:). ¿en si que es lo queres?




mmmm proba de esta manera...  ;)

Código: [Seleccionar]
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$10" Then
longitud = Len(Target)
For i = 1 To longitud
    digito = Mid(Target, i, 1)
    If IsNumeric(digito) Then
    With Application
        .EnableEvents = False
        .Undo
        .EnableEvents = True
      End With
      'Si encuentra un numero , pues no acepta la entrada
      'y hace un Undo , para  volver al texto anterior , si lo habia
      MsgBox ("No se permiten Numeros en esta celda")
      End If
Next

End If
End Sub
« Última Modificación: marzo 26, 2011, 11:57:55 am por chester08 »
------------------- Ch3st3r08-----------------------

Desconectado chester08

  • Sv Member
  • ***
  • Mensajes: 400
  • ahora tengo otro motivo para no dormir... thnks
    • My Web site
Re: Preguntita sobre excel.
« Respuesta #7 : marzo 26, 2011, 12:18:31 pm »
Mira ,sorry por el Doble Post.   :sorry: ,
este de abajo solo te acepta caracteres de "a-zA-Z"
talvez te ayude.... :D
y si lo llegas a resolver, no dudes en postear aqui la solucion , para que nos pueda ayudar en el futuro .

Código: [Seleccionar]
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$10" Then
longitud = Len(Target)
For i = 1 To longitud
    digito = Mid(Target, i, 1)
    If (Not Asc(digito) >= 97 Or Not Asc(digito) <= 122) Or (Not Asc(digito) >= 65 Or Not Asc(digito) <= 90) Then
    With Application
        .EnableEvents = False
        .Undo
        .EnableEvents = True
      End With
      'Si encuentra un numero , pues no acepta la entrada
      'y hace un Undo , para  volver al texto anterior , si lo habia
      MsgBox ("No se permiten Numeros en esta celda")
      End If
Next
End If
End Sub


------------------- Ch3st3r08-----------------------

Desconectado Azarías

  • The Communiter-
  • *
  • Mensajes: 1212
  • No hay camino a la paz, La paz es el camino...
Re: Preguntita sobre excel.
« Respuesta #8 : marzo 26, 2011, 07:57:35 pm »
Hey se te agradece man si me furulo, ahora mi preguntita es como hacer para validar por ejemplo un rango de 5 celdas en la misma columna
Antes Raphaxto, hoy Azarías (Tobías 12,15)

Desconectado gcastellanos

  • Sv Member
  • ***
  • Mensajes: 196
    • Enter Computadoras
Re: Preguntita sobre excel.
« Respuesta #9 : marzo 26, 2011, 09:21:05 pm »
Creo que te conviene validar de esta forma:

(Excel 2007 / 2010)

Menú: Datos / Validación de datos / Validación de datos (otra vez) / pestaña "configuración"
En el campo "permitir" darle -Personalizada- y pegar la siguiente fórmula:

Si es excel 2003-2007:
=SUMAPRODUCTO(((ESERR(ENCONTRAR((EXTRAE(MAYUSC(B3), FILA(INDIRECTO("1:" & LARGO(B3))),1)), "AÁBCDEÉFGHIÍJKLMNÑOÓPQRSTUÚVWXYZ "))))*  1) = 0

Si es excel 2010:
=SUMAPRODUCTO(((ESERR(ENCONTRAR((MED(MAYUSC(B3), FILA(INDIRECTO("1:" & LARGO(B3))),1)), "AÁBCDEÉFGHIÍJKLMNÑOÓPQRSTUÚVWXYZ "))))*  1) = 0

OJO: En la fórmula estoy validando la celda B3, tenés que cambiar por la referencia que te interesa y luego al copiar a otra celda se cambia automáticamente la validación.

Eso es todo y te acepta mayúsculas, minúsculas y espacios.

Adjunto un archivo para ejemplo.
http://www.megaupload.com/?d=1627KPJ1


Porque lo que hago, no lo entiendo; pues no hago lo que quiero, sino lo que aborrezco, eso hago. (Rom. 7:15)