Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Rückgängig Button nach Worksheet_Change | Herbers Excel-Forum


Betrifft: Rückgängig Button nach Worksheet_Change von: Chris
Geschrieben am: 21.01.2010 11:22:55

Hi,
habe in einem Sheet u.a. ein Worksheet_Change Makro laufen, das bestimmte Werte in bestimmte Zeilen kopiert.
Nachdem ich in dem Sheet ein paar Eingaben gemacht habe, kann ich leider den Rückgängig Button nicht benutzen. Das rührt wohl daher, dass nach einer jeglichen Eingabe das Makro ausgeführt wird.

Hat jemand evtl. eine Idee, wie man das umgehen kann?

  

Betrifft: Keine Chance ! Makro "löscht" Rückgängig-Historie von: NoNet
Geschrieben am: 21.01.2010 11:27:29

Hallo Chris,

da kann ich nur sagen : Ent- oder weder - aber nicht beides !
Zellaktionen durch VBA "löschen" quasi die "Rückgängig-Historie" - ebenso wie das Speichern der Mappe etc... (Profis sagen dazu : "Works as designed").

Gruß, NoNet


  

Betrifft: AW: Keine Chance ! Makro "löscht" Rückgängig-Historie von: Chris
Geschrieben am: 21.01.2010 11:47:45

Könnte man denn statt des Worksheet_Change eine Art Cell_Change Makro verwenden?

á la: Nur wenn in den Zellen B10:B15, C10:C10 Änderungen eingegeben werden, soll Makro ausgeführt werden?


  

Betrifft: If Not Intersect(Target, [B10:B15,C10]) Is Nothing von: NoNet
Geschrieben am: 21.01.2010 12:04:33

Hallo Chris,

so geht's :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B10:B15,C10]) Is Nothing Then
        'Hier Dein Makro-Code
    End If
End Sub
Gruß, NoNet


  

Betrifft: AW: If Not Intersect(Target, [B10:B15,C10]) Is Nothing von: Chris
Geschrieben am: 21.01.2010 12:20:35

Hi, danke für Deine Rückmeldung. So ähnlich habe ich das auch gemacht:

Private Sub Worksheet_Change(ByVal Target As Range) 

Application.EnableEvents = False
On Error GoTo errorcatcher

Dim Rng1 As Range   
Dim Rng2 As Range
Dim Rng3 As Range

If IsEmpty(Target) Then GoTo errorcatcher

Set Rng1 = Range("E78:Q78")   
Set Rng2 = Range("E143:Q143")
Set Rng3 = Range("E201:Q201") 

If Not Intersect(Rng1, Target) Is Nothing Then  
    Rng2.Value = Rng1.Value 
    Rng3.Value = Rng1.Value
End If

If Not Intersect(Rng2, Target) Is Nothing Then 
    Rng1.Value = Rng2.Value     
    Rng3.Value = Rng2.Value
End If

If Not Intersect(Rng3, Target) Is Nothing Then
    Rng1.Value = Rng3.Value
    Rng2.Value = Rng3.Value
End If

errorcatcher:
Application.EnableEvents = True

End Sub
Mit diesem Code wird dann die Rückgängig-Historie gelöscht, da der Code natürlich auch ausgeführt wird, wenn ich in einem beliebigen Feld eine Eingabe mache. Könnte man das also so handeln, dass der Code nur ausgeführt wird, wenn man Eingaben in Rng1, 2 oder 3 macht?


  

Betrifft: Historie wird NICHT gelöscht ! von: hary
Geschrieben am: 21.01.2010 12:39:06

Hallo Chris,

weder in Deinem geposteten Code noch durch mein kleines Beispiel wird die Historie gelöscht, wenn Eingaben außerhalb der definierten Bereiche getätigt werden !

Gruß, NoNet


  

Betrifft: Upps - Sorry : Beitrag ist NICHT von hary ! _oT von: NoNet
Geschrieben am: 21.01.2010 12:39:53

_oT


  

Betrifft: LoL mT von: hary
Geschrieben am: 21.01.2010 12:50:15

Hallo NoNet
...und so bekommt man raus oft raus, wer sich anders benennt.
Gruss hary


  

Betrifft: AW: Upps - Sorry : Beitrag ist NICHT von hary ! _oT von: Chris
Geschrieben am: 21.01.2010 13:06:39

Ach Mist, dummer Fehler meinerseits. Unter dem Code hatte ich noch ein paar Anweisungen zum Sperren und Entsperren der Zeilen. Wenn ich die deaktiviere (brauche ich nicht unbedingt), funktionierts mit dem Rückgängig-Button.
Danke für die Rückmeldung!


Beiträge aus den Excel-Beispielen zum Thema "Rückgängig Button nach Worksheet_Change"