Para Solar: Re:No permitir 2 comas en la misma celda

05/04/2006 - 00:19 por klomkbock | Informe spam
Hola Solar.

Esta respuesta la tenia preparada hace tiempo pero no he podido mandartela
antes, por eso te la mando en un nuevo tema. Espero que te sea util.

En la hoja en que vayas a introducir los datos, haces clik en la pestaña
de la hoja y en ver codigo. En este modulo (el de la hoja) copias o pegas
el codigo que te pongo al final. Lo que hace es avisarte con un mensaje
que has introducido dos comas y deja la celda seleccionada para que lo
corrijas. Esta hecho para que los datos a tener en cuenta esten en la
columna 1 ("A"), pero si te interesa que sea otra cambia el nº de columna
en "If Target.Column = 1 Then", e incluso si te interesa que te controle
los datos introducidos en varias columnas podrias poner algo asi como: "If
Target.Column = 1 or Target.Column = 2 or Target.Column = 3 Then" . En
este caso te controlaria las comas introducidas en las columnas 1, 2 y 3
("A", "B" y "C").

Espero que te sea de utilidad.
Con las dudas hablamos.
Un saludo y hasta pronto.
Ivan

Private Sub Worksheet_Change(ByVal Target As Range)
' Codigo para avisar si se introducen dos comas
' decimales en la misma celda
Dim i As Integer, j As Integer
' en este caso los datos con las comas se
' introducen en la columna 1, puedes modificarlo
If Target.Column = 1 Then
For i = 1 To Len(Target)
If Mid(CStr(Target), i, 1) = "," Then
For j = i + 1 To Len(Target)
If Mid(CStr(Target), j, 1) = "," Then
MsgBox ("Has introducido dos comas, corrigelo.")
' deja seleccionada la celda del error
Target.Select
Exit Sub
End If
Next j
End If
Next i
End If
End Sub

Preguntas similare

Leer las respuestas

#1 klomkbock
05/04/2006 - 02:01 | Informe spam
Hola de nuevo Solar:

Cambia el codigo anterior por este, que incorpora un tratamiento de
errores. Te dara menos problemas. Este ejemplo esta hecho para introducir
datos en las columnas 1 y 2 ("A" y "B").

Disculpa los errores.
Un saludo y hasta pronto.
Ivan

Private Sub Worksheet_Change(ByVal Target As Range)
' Codigo para avisar si se introducen dos comas
' decimales en la misma celda
Dim i As Integer, j As Integer
' en este caso los datos con las comas se
' introducen en las columna 1 y 2, puedes modificarlo
If Target.Column = 1 Or Target.Column = 2 Then
On Error GoTo Salir
For i = 1 To Len(Target)
If Mid(CStr(Target), i, 1) = "," Then
For j = i + 1 To Len(Target)
If Mid(CStr(Target), j, 1) = "," Then
MsgBox ("Has introducido dos comas, corrigelo.")
' deja seleccionada la celda del error
Target.Select
Exit Sub
End If
Next j
End If
Next i
End If
Salir:
Exit Sub
Resume
End Sub
Respuesta Responder a este mensaje
#2 Solar
05/04/2006 - 10:40 | Informe spam
Joder muchas gracias, ahora estoy en el curro, lo probaré en cuanto
llegue a casa.
Por cierto, aunke no tiene ke ver, una preguntita ke lenguaje es el
ke se utiliza para hacer estos programas?
Se parece a uno ke estoy aprendiendo ahora, VHDL, por el tema "if"
"then" y los "end if".
Muchas gracias tio, pondré otra respuesta cuando lo pruebe desde casa
:)
Respuesta Responder a este mensaje
#3 klomkbock
05/04/2006 - 17:30 | Informe spam
Hola Solar.

Se trata de VBA (Visual Basic para Aplicaciones) y va incluido en todos
los programas(creo) del office. En la ayuda de excel puedes encontrar
datos sobre como acceder a el. Y la mejor via, para mi gusto, de aprender
es en este foro. Aunque permiteme que te haga una observacion que espero
no te moleste. A mi la verdad es que me hace gracia y no me molesta la
espontaneidad de tus comentarios, pero si puede haber gente a la que no le
acabe de agradar, lo cual tampoco es que pase nada, pero te arriesgas a
que alguna de esas personas a las que les moleste sea un experto que pueda
resolverte muchas dudas y no lo haga por ese motivo. En cualquier caso no
me hagas caso y haz lo que a ti te parezca, ya te digo que a mi hasta me
hace cierta gracia.

Por otro lado para abrir el modulo en que pegar el codigo te decia en el
primer mensaje lo siguiente: "En la hoja en que vayas a introducir los
datos, haces clik en la pestaña de la hoja y en ver codigo." En realidad
el click debes hacerlo con el boton derecho. Por lo demas todo es igual.

Con las dudas hablamos.
Un saludo y hasta pronto.
Ivan
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida