AW: Makro ausführen wenn
01.09.2007 07:05:28
Matthias
Hallo Darek
'Code in Tabelle1
(wenn es nur für Tabelle1 gelten soll)
Startet das Makro (AuswahlMakro) automatisch, wenn Du in A1 etwas einträgst.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
AuswahlMakro
End If
End Sub
Willst Du, das es in jeder Tabelle ausgewertet wird, dann darf das Makro nicht in die Tabelle1, sondern
'Code in DiesArbeitmappe
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
AuswahlMakro
End If
End Sub
Wenn Du das so nicht brauchst, sondern das Makro manuell starten willst bspw. durch Klick auf
ein Button, so lassen diesen Code der Tabelle1 und / oder in DieseArbeitsmappe einfach weg.
'Code in ein Modul
Wenn Du also das Makro (AuswahlMakro) ausführst, wird der Inhalt der Zelle "A1" ausgewertet.
Steht eine "1" in der Zelle wird Makro1 ausgeführt
Steht eine "2" in der Zelle wird Makro2 ausgeführt
Steht weder die "1" noch die "2" in der Zelle, passiert nichts.
Sub AuswahlMakro()
If ActiveSheet.Cells(1, 1) = 1 Then makro1
If ActiveSheet.Cells(1, 1) = 2 Then makro2
End Sub
Sub makro1()
MsgBox "Ich bin Makro 1"
End Sub
Sub makro2()
MsgBox "Ich bin Makro 2"
End Sub