Sumar valor en misma celda

Como lo hago para que al introducir un valor en una celda me sume automáticamente 25.
Es decir que al poner 100 en una celda me de esta misma 125

1 respuesta

Respuesta
1
Activa el editor VBA (botón derecho del mouse sobre la etiqueta de la hoja, y en el evento Change de la hoja escribe algo como
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End Sub
Lo anterior te modificará cualquier celda de la hoja; si quisieras que sea alguna celda en particular, deberías modificarlo ligeramente con
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End If
End Sub
O algo parecido
Esta me podría valer
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End If
End Sub
Pero tendria que ser en toda la columna "a"
he probado asi pero no me funciona.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A:$A" Then
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End If
End Sub
Como puedo hacerlo
Por lo que veo, quieres sumar siempre que sea la columna A; si este es el caso, podrías poner algo como
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End If
End Sub
Exacto, funciona muy bien.
Pero en la segunda hoja del proyecto lo tengo que hacer en la columna 1 y en la 2.
Como hago referencia aquí a las 2 columnas:
"If Target.Column = 1 Then "
Gracias
Fernand--
Bueno lo solucione así:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End If
If Target.Column = 2 Then
Application.EnableEvents = False
Target = Target.Value + 25
Application.EnableEvents = True
End If
End Sub
Lo único que me queda es que pueda poner en una celda el valor a sumar "25".
Es decir:
Target = Target.Value + 25 <---este valor que este por ejemplo en "d2"
Muchísimas gracias
Pues es casi como lo planteas; te "simplifico" un poco el código que escribiste y te lo hago asumiendo que sumará el contenido de la celda D2
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto salida
If Target.Column <= 2 Then
Application.EnableEvents = False
Target = Target.Value + ActiveSheet.Range("$D$2").Value
Application.EnableEvents = True
End If
salida:
End Sub
Le agregué el "On Error..." por las dudas que tipees texto en las primeras columnas (te tratará de sumar un valor y va a dar error)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas