Otra Pregunta sobre Private Sub Worksheet_Change

28/07/2012 - 22:25 por titopose | Informe spam
¡ Hola !
En el ejemplo de la pregunta anterior sobre Private Sub Worksheet_Change todo funciona bien.(incluído el cambio sugerido por Pedro).
Pero, siempre hay un pero, cuando sobre el rango target (columna e) se teclea la barra espaciadora, da error y me hace saltar un texbox de alerta que tengo a ese efecto.
Me pregunto si tecleando "enter" o entrando "cero" no me da, error, por que la barra espaciadora si?, y como puedo hacer para evitarlo?.
Gracias!

Preguntas similare

Leer las respuestas

#1 Pedro F. Pardo
29/07/2012 - 00:10 | Informe spam
On Saturday, 28 July 2012 21:27:09 UTC+1, titopose wrote:
Mostrar la cita
El error lo da porque Cantidad es una variable numérica, excel espera un número pero si escribes un espacio al intentar asignar un espacio en blando a cantidad>>> Error.

Si estoy en lo cierto esto no solo ocurre con la barra espaciadora, imagino que también ocurrirá al escribir cualquier texto, una letra cualquiera, o un nombre, ¿no es así?

La forma de solucionarlo depende que cómo quieras considerar un espacio en blanco. ¿Quieres que en la otra celda aparezca el número 0? ¿Que no aparezca nada? ¿Y si alguien escribe por error un texto? La letra O mayúscula en lugar del cero por ejemplo: '1O5' << eso de ahí es una O mayúscula :-)

Esto se podría arreglar en la macro añadiendo un control para asegurarnos que solo se puedan escribir números y que cualquier otra cosa la considere vacía y por tanto en la otra celda (Columna D) no aparezca nada.
añadiendo esta línea en la macro:
If Val(Target.Value) = 0 Then ActiveCell.Offset(-1, -1).Value = "": Exit Sub

justo debajo de la línea del IsEmpty(Target)


O también lo puedes controlar mediante Validación de Datos, sin necesidad de alterar la macro. Seleccionando la columna entera y restringiendo la entrada solo a números. Para que nadie escriba ningún texto en esa columna ;-)


Saludos,
Pedro
#2 titopose
29/07/2012 - 04:26 | Informe spam
Pedro F. Pardo escribió el 29/07/2012 00:10 :
Mostrar la cita
Fue muy concisa y esclarecedora tu explicación.
Usé la validación (decimales, excel 2002) para ambas columnas pero anoté la forma de hacerlo con el códogo en la macro por si me sirve de futuro.
Gracia Pedro.
Saludos
Ads by Google
Search Busqueda sugerida