Macro nur einmal ausführen
28.03.2007 19:57:00
Ralph
ich habe aus einem :
Private Sub Worksheet_Change(ByVal Target As range)
' erstellt von Hajo.Ziplies@web.de 16.08.03
' alle Buchstaben Groß in einem bestimmten Bereich
Dim RaBereich As range, RaZelle As range
Application.EnableEvents = False
' Bereich der Wirksamkeit
Set RaBereich = range("AO13:BM13")
' ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
RaZelle.Value = UCase(RaZelle.Value)
End If
Next RaZelle
Application.EnableEvents = True
' ActiveSheet.protect
Set RaBereich = Nothing
Set RaBereich = range("AI13")
If range("AI13") = "7" Then
Call LöscheEinAusModule
End If
Den Macro LöscheEinAusModule gestartet.
Sub LöscheEinAusModule()
' LöscheEinAusModule Makro
range("H13:I13").Select
ActiveCell.FormulaR1C1 = "0"
range("K13:L13").Select
ActiveCell.FormulaR1C1 = "0"
range("N13:O13").Select
ActiveCell.FormulaR1C1 = "0"
range("Q13:R13").Select
ActiveCell.FormulaR1C1 = "0"
range("T13:U13").Select
ActiveCell.FormulaR1C1 = "0"
range("W13:X13").Select
ActiveCell.FormulaR1C1 = "0"
range("Z13:AA13").Select
ActiveCell.FormulaR1C1 = "0"
range("AC13:AD13").Select
ActiveCell.FormulaR1C1 = "0"
range("AI13:AJ13").Select
End Sub
Nun möchte ich das der Macro nur einmal ausgeführt wird wenn in Zelle AI13 die Zahl 7 steht und damit alle genannten Felder auf 0(Null) setzt.
Allerdings passiert dies dauert und zwingt das kmpl. Excel in die Knie!
Kann mir jemand erklären wie ich in VBA diese Funktion nur einmal ausführe aber trotzdem immer die Zelle überwache. Und falls dort eien 7 eigegeben wird auch wieder den Makro starte?
Vielen Dank im Voraus
Gruss Ralph