Excel - Ejecutar macro cuando los datos ingresados ​​en una celda

Si un usuario desea ejecutar una Macro en Microsoft Excel cuando se encuentra que se llena la celda D10, el evento de cambio de hoja de trabajo debe usarse en la Hoja de cálculo de Excel, no en el módulo. //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10.htlml se descarga y se establece el código original que se utilizó para ejecutar la Macro . El icono Visual Basic de la pestaña Desarrollador está seleccionado para Microsoft Excel-2007. Después de ver la hoja de trabajo donde se desea que se ejecute el código, se despliegan las Declaraciones y General y se selecciona la hoja de trabajo. La palabra 'Selección' se elimina de 'Private Sub Worksheet_SelectionChange' en la ventana de código. Para cambiar el valor en la celda D10, '$ D $ 10' es la dirección de destino que se establece. Esto, a su vez, haría que la hoja de trabajo cambie el evento "Llamar" a la macro .

  • Problema
  • Solución
  • Nota

Problema

Tengo una macro que se ejecuta cuando el usuario hace clic en un botón. En su lugar, quiero que la macro se ejecute cuando se rellene la celda D10. Los datos para D10 provienen de un menú desplegable de Validación de Datos, si eso importa. Esto debería ser fácil pero no puedo resolverlo.

Solución

Puedes mantener tu macro en el módulo uno. Debe usar el evento de cambio de hoja de trabajo en la hoja de trabajo, no un módulo. Déjame explicarte: voy a proporcionar un archivo para ir junto con la explicación. En la hoja de trabajo, el rango A5: A25 está lleno de números. Si ingresa un valor numérico en la celda D10, el rango G5: G10 copiará lo que está en A5: A25. Si elimina el valor en D10, entonces se eliminarán los contenidos del rango G5: G10.

//www.4shared.com/file/89145449/43c8c38/Change_Value_of_D10.html

Cualquiera que sea su código original para ejecutar su Macro, vuelva a colocarlo en su forma original.

Como está utilizando Excel 2007, esto es lo que debe hacer:

  • 1) Haga clic en la pestaña Desarrollador.
  • 2) Haga clic en el icono de Visual Basic.
  • 3) En la ventana del panel izquierdo, haga doble clic en la hoja donde necesita que se ejecute su código.
  • 4) Ahora, en la parte superior de la ventana del código verá (General) con un menú desplegable y (Declaraciones) con un menú desplegable.
  • 5) Haga clic en el menú desplegable por (General) y seleccione Hoja de trabajo.
  • 6) Ahora en la ventana de código verá Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  • 7) Eliminar la palabra "Selección". Desea eliminar "Selección" porque eso significa que cuando haga clic en una celda de la hoja de trabajo, sucederá algo. No desea eso, desea ingresar un valor en D10. Ahora debería leer Private Sub Worksheet_Change (ByVal Target As Range)
  • 8) Aquí es donde quieres el código ...

 Private Sub Worksheet_Change (ByVal Target As Range)

Si Target.Address = "$ D $ 10" entonces

Llama mymacro

Terminara si

End Sub

  • 9) Es decir, cuando cambia el valor en D10, el evento de cambio de hoja de trabajo "Llamará" a su Macro.

Nota

Gracias a WutUp WutUp por este consejo en el foro.
Artículo Anterior Artículo Siguiente

Los Mejores Consejos