Cambiar valor de celda al clickear en ella

31/05/2006 - 21:15 por Mennegguzzi | Informe spam
Hola a todos, les consulto por algo que no estoy seguro si se puede hacer


quisiera que el valor de una celda cambie al hacer click en ella, por
ejemplo entre 0 y 1,
es para usar un rango de celdas como elemento de validación, algo semejante
a si tuviera casillas tipo check box

pero quisiera hacerlo solo con clicks, sin tocar el teclado

se puede hacer eso ?


muchas gracias de antemano


saludos

Pablo

Preguntas similare

Leer las respuestas

#1 Benito Merino
31/05/2006 - 22:39 | Informe spam
Mennegguzzi ha escrito:

Hola a todos, les consulto por algo que no estoy seguro si se puede hacer


quisiera que el valor de una celda cambie al hacer click en ella, por
ejemplo entre 0 y 1,
es para usar un rango de celdas como elemento de validación, algo semejante
a si tuviera casillas tipo check box

pero quisiera hacerlo solo con clicks, sin tocar el teclado

se puede hacer eso ?


muchas gracias de antemano


saludos

Pablo



Hola Pablo.


Una opción podría ser generar un evento como el siguiente:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address = "$C$1" Then
Target.Value = Target.Value + 1
End If
End Sub

Al hacer dobleclick sobre la celda C1 el valor de la celda se te
incrementa en 1.
Respuesta Responder a este mensaje
#2 Mennegguzzi
07/06/2006 - 14:23 | Informe spam
Benito, ante todo gracias por tu ayuda

te hago una consulta, en el evento que exponés:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address = "$C$1" Then
Target.Value = Target.Value + 1
End If
End Sub



así como está funcionaría solo para la celda C1, o estoy equivocado
?
cómo haría para que funcione para todas las celdas?

y otra cosa, cuando le hago doble click me queda la celda en estado de
edición, habrá alguna forma de hacer que no quede así ?

muchas gracias de antemano

saludos

Pablo



Benito Merino ha escrito:

Mennegguzzi ha escrito:

> Hola a todos, les consulto por algo que no estoy seguro si se puede hacer
>
>
> quisiera que el valor de una celda cambie al hacer click en ella, por
> ejemplo entre 0 y 1,
> es para usar un rango de celdas como elemento de validación, algo semejante
> a si tuviera casillas tipo check box
>
> pero quisiera hacerlo solo con clicks, sin tocar el teclado
>
> se puede hacer eso ?
>
>
> muchas gracias de antemano
>
>
> saludos
>
> Pablo

Hola Pablo.


Una opción podría ser generar un evento como el siguiente:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address = "$C$1" Then
Target.Value = Target.Value + 1
End If
End Sub

Al hacer dobleclick sobre la celda C1 el valor de la celda se te
incrementa en 1.
Respuesta Responder a este mensaje
#3 Mennegguzzi
08/06/2006 - 22:12 | Informe spam
hola a todos, reformulo la consulta:



te hago una consulta, en el evento que exponés:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address = "$C$1" Then
Target.Value = Target.Value + 1
End If
End Sub



así como está funcionaría solo para la celda C1, o estoy equivocado
?
cómo haría para que funcione para todas las celdas?

y otra cosa, cuando le hago doble click me queda la celda en estado de
edición, habrá alguna forma de hacer que no quede así ?



Muchas gracias de antemano

saludos

Pablo




Benito Merino ha escrito:

Mennegguzzi ha escrito:

> Hola a todos, les consulto por algo que no estoy seguro si se puede
> hacer
>
>
> quisiera que el valor de una celda cambie al hacer click en ella, por
> ejemplo entre 0 y 1,
> es para usar un rango de celdas como elemento de validación, algo
> semejante
> a si tuviera casillas tipo check box
>
> pero quisiera hacerlo solo con clicks, sin tocar el teclado
>
> se puede hacer eso ?
>
>
> muchas gracias de antemano
>
>
> saludos
>
> Pablo

Hola Pablo.


Una opción podría ser generar un evento como el siguiente:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address = "$C$1" Then
Target.Value = Target.Value + 1
End If
End Sub

Al hacer dobleclick sobre la celda C1 el valor de la celda se te
incrementa en 1.
Respuesta Responder a este mensaje
#4 Vinchenzo vinç
09/06/2006 - 22:57 | Informe spam
"Mennegguzzi" <@> escribió en el mensaje news:

te hago una consulta, en el evento que exponés:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address = "$C$1" Then
Target.Value = Target.Value + 1
End If
End Sub



así como está funcionaría solo para la celda C1, o estoy equivocado
?



Hola Pablo,
sólo en parte, estás equivocado, pero por concepto.
Eso sólo te servirá para la celda C1, siempre y cuando el valor en ella contenido pueda ser incrementado numéricamente.
Por ejemplo, si la celda contiene texto, generará error de tipos, si contiene un fórmula, siendo un resultado numérico,
incrementará el valor del resultado, borrando la fórmula, etc...


cómo haría para que funcione para todas las celdas?



Eliminando la sentencia condicional, borras el 'If ...' y 'End If', y se aplicará a todas las celdas de la hoja.


y otra cosa, cuando le hago doble click me queda la celda en estado de
edición, habrá alguna forma de hacer que no quede así ?



A través del parámetro 'Cancel'. Establécelo a 'True'.

En resumen, yo te lo plantearía así:
'***********
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not IsNumeric(Target.Value) _
Or Target.HasFormula Then Exit Sub

Target.Value = Target.Value + 1
Cancel = True
End Sub
'***********

Más o menos...

Saludos
( ! ) Respuestas precedentes en Google:
http://tinyurl.com/rkce5
( i ) Temperancia en el foro:
http://tinyurl.com/mawnn
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida