Si está aquí, probablemente quiera aprender a ejecutar una subrutina cada vez que se realiza un cambio en una hoja específica. Este artículo enseñará exactamente eso. Entonces empecemos.

La sintaxis del controlador de eventos de cambio de hoja de trabajo es:

Private Sub worksheet_change(ByVal Target As Range)

'your code

'

'

End Sub

Este código debe estar escrito en un objeto de hoja de trabajo para que funcione, no en un módulo normal.

Private Sub worksheet_change(ByVal Target As Range)

Msgbox "You updated something in this sheet"

End Sub

Si tiene este código en la hoja1 y escribe o borra algo en la hoja1, aparecerá el mensaje «Actualizó algo en esta hoja».

No funcionará en módulos normales. Pero puede llamar a subrutinas desde cualquier módulo. Lo mismo haremos en esta sesión.

image

Escenario:

Macro RunExcel si se realiza algún cambio en la hoja de trabajo

image

Entonces, digamos que tenemos una macro que cambia el color de las celdas en función de alguna condición. Al igual que el formato condicional de Excel. La única diferencia es que el color de las celdas cambia cuando ejecutamos este código VBA usando un botón o comando de ejecución, no cuando cambian los valores. Queremos que la macro se ejecute siempre que se realice un cambio en la hoja. Aquí VBA Events te ayudará. Ahora, para hacer esto, usaremos Evento de cambio de hoja de trabajo.

Siga estos pasos:

  • Vaya al explorador de proyectos y haga doble clic en la hoja en la que desea activar el evento worksheet.change. Quiero activar el evento cuando se realicen algunos cambios en Sheet2, así que hago doble clic en Sheet2. También puede hacer clic con el botón derecho y hacer clic en el código de vista para abrir el área de escritura de código para objetos de hoja. En el área de código, escriba esta línea de código.

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

worksheet_change (Target as Range) es una subrutina preservada que se ejecuta cuando se realiza un cambio en la hoja que contiene el código.

Cuando escriba este código, verá que el objeto cambia a la hoja de trabajo. Consulte el menú desplegable superior izquierdo. En el menú desplegable superior derecho, el evento es «cambio» .

_Si usa el menú desplegable y selecciona la hoja de trabajo en el menú desplegable de la izquierda, todos los eventos disponibles se mostrarán en el menú desplegable de la derecha.

Cualquiera que sea el menú desplegable que elija, el código para ese evento se escribirá automáticamente. Solo necesita llenarlo con sus subrutinas personalizadas.

image_ * Now just put your code in this segment. I want to call my subroutine that is in a module. So I simply call that subroutine in this worksheet event handler. My subroutine isFormatUsingVBA() in Module1

Private Sub worksheet_change(ByVal Target As Range)

Call FormatUsingVBA

End Sub

Ahora, siempre que hagamos un cambio en sheet2, se ejecutará la macro FromatUsingVBA.

image

Entonces, sí, chicos, así es como se puede ejecutar un script VBA cuando una hoja cambia su contenido, usando el controlador de eventos de cambio de hoja de trabajo. Espero que haya sido de ayuda. Si tiene alguna consulta sobre este controlador de eventos, menciónelo en la sección de comentarios.

Artículos relacionados:

link: / events-in-vba-simple-vba-code-to-highlight-current-row-and-column-using [El código VBA más simple para resaltar la fila y columna actual usando] * | Use este pequeño fragmento de VBA para resalte la fila y columna actual de la hoja.

link: / events-in-vba-the-worksheet-events-in-excel-vba [Los eventos de la hoja de trabajo en Excel VBA] * | El evento de la hoja de trabajo es realmente útil cuando desea que sus macros se ejecuten cuando ocurre un evento específico en la hoja.

link: / events-in-vba-run-macro-if-any-change-made-on-sheet-range [Ejecutar macro si se realiza algún cambio en la hoja en el rango especificado] * | Para ejecutar su código de macro cuando cambia el valor en un rango específico, use este código VBA. Detecta cualquier cambio realizado en el rango especificado y disparará el evento.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-your-productividad [50 accesos directos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos le permitirán trabajar aún más rápido en Excel.

link: / fórmulas-y-funciones-introducción-de-vlookup-function [La función VLOOKUP en Excel] | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas. enlace: / tips-countif-in-microsoft-excel [COUNTIF en Excel 2016] | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico.

La función Countif es esencial para preparar su tablero.

link: / excel-formula-and-function-excel-sumif-function [Cómo utilizar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.