Hola, me gustaría saber como activo una macro en excel cuando alguien modifique un rango especifico de celdas. Gracias
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Puedes usar el evento Change para la hoja donde se pueda modificar el rango. Para que funcione, activa el editor de Visual Basic (presiona Alt+F11) y busca La hoja donde quieres que esto ocurra (donde harás la carga de datos). Da doble click sobre ella. (Otra forma de llegar a este punto es hacer click derecho sobre la solapa de esta hoja y elegir la opción "Ver Código) Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic: Private Sub Worksheet_Change(ByVal Target As Excel.Range) 'Indica cual es el Rango de control: RangCtrl = "A2:D20" Set EnRango = Application.Intersect(Range(RangCtrl), Target) If Not EnRango Is Nothing Then MsgBox "Modificó rango " & RangCtrl & Chr(10) & "en celda " & Target.Address(False, False) 'reemplaza esto por la macro que quieres que se ejecute End If Set EnRango = Nothing End Sub Al comienzo de la macro podrás definirle el rango que quieres que sea controlado. Cuando alguna celda dentro de ese rango se modifique, se dispra la macro. En el ejemplo, simplemente muestra un mensaje, pero podrás colocar allí el nombre de la macro a ejecutar o, directamente, sus comandos. - Ingresa al sitio www.porloschicos.com y, si quieres, presiona el botón de donación (es gratis). Confío en que lo harás.
Perfecto, explorando en el editor estaba haciendo algo bastante similar pero no había dado con el intersect. Muchas gracias excelente la respuesta