poner "0" en vez de "vacio"

05/11/2006 - 02:30 por MyVi | Informe spam
Buenas chicos...

A ver si me podeis ayudar con esto.


Tengo unas celdas que no pueden estar nunca vacias. Inicialmente tienen
un valor "0" (aunque esta activo el ocultar ceros, asi que no se ve
directamente y parece que las celdas esten vacias), de ahi se introduce
un nº de cinco digitos (lease 26537).
Hasta aqui todo bien. El problema viene cuando el usuario se equivoca y
elimina dicho nº de la celda y la deja vacia. Aqui aparece un #VALUE!
y me desmonta toda la hoja.

¿Cómo hariais para, al eliminar el valor de la celda, en vez de
quedarse en "vacio" se pusiera un "0" en su lugar?
Bueno, o dicho de otro modo, ¿como podriamos hacer para que dicho
"vacio" no entorpeciera el correcto cálculo de las demás celdas, y
por consiguiente, no se mostrara este #VALUE! y siguiera calculando
normalmente?

Si conseguimos que "vacio"="0" siempre, ya lo tengo arreglado.
Si teneis que saber cómo hago los cálculos en la hoja os diré que
tengo formulas asi:

=(SUMPRODUCT((D7:D56="B2B/PROFESIONAL")*(E7:E56="SI")))+(SUMPRODUCT((M7:M56="B2B/PROFESIONAL")*(N7:N56="SI")))

... y sino recuerdo mal... tambien algo de código (aunque ahora mismo
tengo el office 2007, y, sinceramente, no sé como mirarlo para
recordar... :(


ANTES DE TERMINAR, una pregunta mas.

¿Cómo puedo conseguir que se ejecute un código al salir de una
celda? Más concretamente. En una celda (la del "0"), tras cambiar el
valor "0" que hay por defecto y poner un nº de XX.XXX, como puedo
ejecutar un código que lo que hace es poner una palabra u otra en la
celda siguiente (en funcion del primer díjito del nº entrado)?.

Como no he sabido cómo hacerlo, he puesto un boton transparente (creo
que era un boton, pero repito que con el 2007 no sé como ver la barrá
de herramientas y la flecha para poder seleccionar y ver sus
propiedades...) que al pulsarlo ejecuta dicha acción, pero me sucede
que no me es muy práctico, ya que yo soy el único que realmente sabe
utilizarlo. El usuario (quien realmente me interesa que lo use) no
tiene idea de cómo proceder.

Gracias

Voy a seguir investingando a ver si averiguo como conseguir estas cosas
que digo en el 2007 que no encuentro.

Gracias de nuevo.
 

Leer las respuestas

#1 AnSanVal
05/11/2006 - 11:24 | Informe spam
Hola My Vi.
En vez de ".tengo 'unas celdas' que.", es conveniente que indiques el rango
de esas celdas, para que la ayuda que recibas se parezca lo más posible a la
solución que necesitas. :-)

Referente a tu consulta...
Sin código(en la celda que te da error)>>> puedes usar condicionales tipo:
=SI(ESERROR(tu_fórmula);0;tu_fórmula)
o también...
=SI(A4="";0;tu_fórmula)

Por código>>> en el evento CHANGE de la hoja puedes poner algo como:
(suponiendo que la columna a controlar es A)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target = "" Then Target = 0 ' aqui evita celda vacia.
Else
' otra posibilidad (o código).
End If
End Sub

Saludos desde Tenerife.
*******************************
"MyVi" escribió en el mensaje
news:
Buenas chicos...

A ver si me podeis ayudar con esto.


Tengo unas celdas que no pueden estar nunca vacias. Inicialmente tienen
un valor "0" (aunque esta activo el ocultar ceros, asi que no se ve
directamente y parece que las celdas esten vacias), de ahi se introduce
un nº de cinco digitos (lease 26537).
Hasta aqui todo bien. El problema viene cuando el usuario se equivoca y
elimina dicho nº de la celda y la deja vacia. Aqui aparece un #VALUE!
y me desmonta toda la hoja.

¿Cómo hariais para, al eliminar el valor de la celda, en vez de
quedarse en "vacio" se pusiera un "0" en su lugar?
Bueno, o dicho de otro modo, ¿como podriamos hacer para que dicho
"vacio" no entorpeciera el correcto cálculo de las demás celdas, y
por consiguiente, no se mostrara este #VALUE! y siguiera calculando
normalmente?

Si conseguimos que "vacio"="0" siempre, ya lo tengo arreglado.
Si teneis que saber cómo hago los cálculos en la hoja os diré que
tengo formulas asi:

=(SUMPRODUCT((D7:D56="B2B/PROFESIONAL")*(E7:E56="SI")))+(SUMPRODUCT((M7:M56="B2B/PROFESIONAL")*(N7:N56="SI")))

... y sino recuerdo mal... tambien algo de código (aunque ahora mismo
tengo el office 2007, y, sinceramente, no sé como mirarlo para
recordar... :(


ANTES DE TERMINAR, una pregunta mas.

¿Cómo puedo conseguir que se ejecute un código al salir de una
celda? Más concretamente. En una celda (la del "0"), tras cambiar el
valor "0" que hay por defecto y poner un nº de XX.XXX, como puedo
ejecutar un código que lo que hace es poner una palabra u otra en la
celda siguiente (en funcion del primer díjito del nº entrado)?.

Como no he sabido cómo hacerlo, he puesto un boton transparente (creo
que era un boton, pero repito que con el 2007 no sé como ver la barrá
de herramientas y la flecha para poder seleccionar y ver sus
propiedades...) que al pulsarlo ejecuta dicha acción, pero me sucede
que no me es muy práctico, ya que yo soy el único que realmente sabe
utilizarlo. El usuario (quien realmente me interesa que lo use) no
tiene idea de cómo proceder.

Gracias

Voy a seguir investingando a ver si averiguo como conseguir estas cosas
que digo en el 2007 que no encuentro.

Gracias de nuevo.

Preguntas similares