. 05.12.16 #VBA Ejecuta según grupo de celdas
Buenas, Andrés
A falta de mejor información asumiremos que las todas las celdas que indiques deberán tener algún dato -cualquiera- para que se ejecute tu macro.
Para ello, te comparto la siguiente rutina que se ejecuta automáticamente cuando cambie algun dato en las celdas y evaluará que se cumpla esa condición.
Para que funcione, activa el editor de Visual Basic (presiona Alt+F11) y en el panel de la izquierda busca la hoja donde quieres que esto ocurra. 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)
Allí pega el siguiente procedimiento de VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
'---- Variables modificables ----
'=== ANDRES, modifica estos datos de acuerdo a tu proyecto:
LasCeldas = Array("A1", "A4", "C8", "C9", "D11", "M1") 'Direcciones de celdas a evaluar
'---- fin Variables
'
'---- inicio de rutina:
'
ejecuta = False
For test = 0 To UBound(LasCeldas)
If LasCeldas(test) = Target.Address(False, False) Then
For test2 = 0 To UBound(LasCeldas)
If Len(Range(LasCeldas(test2))) = 0 Then Exit Sub
Next
ejecuta = True
End If
Next
If ejecuta Then
Call <Tu macro> 'coloca aquí el nombre de la macro que deseas que se ejecute.
End If
End Sub
Al principio verás una variable que es un conjunto de direcciones de celdas que quieres que estén llenas para que se ejecute la macro que indicarás al final de la rutina.
.