Ejecutar macro al rellenar celda

Buenas de nuevo.
Tengo una hoja excel con una serie de fórmulas que se actualizan según el valor de la celda A1.
La cuestión es que tengo una macro que actualiza (borra y pega de nuevo) para actualizar el nuevo valor que se introduce en la celda a1.
Mi pregunta es ¿cómo podría ejecutarse la macro de actualización (o cualquier otra) con tan sólo rellenar el valor de la celda a1 y pulsar intro?.
Vamos, no me cuesta nada pulsar el botón actualizar para ejecutar la macro, pero tengo curiosidad en saber si se pueden ejecutar macros con tan solo rellenar celdas.
Muchas gracias
=====================================*========================
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "$b$6" Then
   Worksheets("Porciento por día").Activate
    Range("D2:D8").Select
    Selection.Copy
    Range("E2:E8").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End If
End Sub
Oiga uso este código y nada. La verdad que ya no sé que hacer

1 Respuesta

Respuesta
1
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$G$6" Then
        Dim w As Worksheet
        Set w = Sheets("HOJA1")
        Range("m6").Select
        If ActiveCell.Value <> Empty Then
            x = w.Range("M6").End(xlToRight).Select
            ActiveCell.Offset(0, 1).Select
            ActiveCell.Value = Range("G6")
        Else
            ActiveCell.Value = Range("G6")
        End If
    End If
End Sub
Prueba algo así, este código cada vez que ingresas un valor en la celda G6 graba los datos en las columnas a partir del M6, revísalo y trata de adaptar tus datos.
Suerte y Juégatela
Al final lo hice así y me funciona OK. Muchas gracias de todas formas
Private Sub Worksheet_Change(ByVal Target As Range)
'esto debe hacerse dentro del objeto hoja (hoja1, hoja2,etc)
'para definir cual es la celda que si cambia debe actualizarse algo
If Target.Cells = Range("b6") Then
'llamando macro que contiene la accion a realizar si se actualiza la celda
Call macro2
End If
End Sub
----------------------------------------------------------
'macro que contiene las acciones a realizar.
Sub macro2()
  Worksheets("Porciento por día").Activate
  Range("D2:D8").Select
  Selection.Copy
  Range("E2:E8").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  :=False, Transpose:=False
End Sub
Ok.
Que bueno que pudiste solucionar tu problema, solo te pido que cierres la pregunta por el tema de la puntuación y No dudes en preguntar lo que necesites.
Suerte.
Gracias, aun me da algunos problemas pero ahora no tengo tiempo y para no dejar la pregunta abierta la cierro y consulto en otra ocasión. Sé que seguro es una tontería pero estoy aprendiendo no a programar sino a explotar excel lo más que pueda.
Gracias de nuevo.
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." Einstein

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas