|  
                                             
	Hallo allerseits :), 
	  
	Ich habe eine ziemlich große "Anwendung" geschrieben und denke nicht das es notwendig ist diese auszuweiten. 
	Ich habe mehrere Hotkeys für meine Anwendung hinterlegt, unter anderem Return. 
	Mein Problem ist nun folgendes : 
	  
	Ich gehe mit jedem Druck auf Return zum nächsten von 4 spezifischen Feldern in denen Preise stehen. 
	Dies bewerkstellige ich Mithilfe von Bedingungen die nach der aktiven Zelle fragen und die Markierung daraufhin zur nächsten senden. 
	Bei einem weiteren Druck auf Return in der 4ten Zelle wird ein Dialog geöffnet in dem nach Übernahme der geänderten Daten gefragt wird. 
	Das ganze funktioniert auch wunderbar .... Esseiden eines der 4 Felder hat denselben Wert(Preis) wie ein anderes. 
	In diesem Fall scheint Excel die Zellen zu "verwechseln" und springt trotz klarer Bedingung die False ergibt in die If-Schleife und somit schlussendlich zu einer vorherigen Zelle zurück. 
	Wie kann das sein? Was verwirrt Excel so? Ich habe mit den Werten in dieser Schleife doch garnichts getan.... 
	Obwohl ich denke schon eine Lösung gefunden zu haben um das Problem zu umgehen, bin ich sehr gespannt auf Eure Antworten, da der Sachverhalt mir schon recht merkwürdig erscheint. :) 
Private Sub Enter()
    
    Application.ScreenUpdating = False
    
    '# Prüfe ob aktuell im Terminal und gehe zu nächster Position.
    
    If Not ActiveCell = Range("D39") And Not ActiveCell = Range("D40") And Not ActiveCell = Range("G39") And Not ActiveCell = Range("G40") Then
    
        '# Prüfe ob Auswahl ein Kalendertag ist.
    
        If CheckError.IsError(Selection) Then Exit Sub
        
        ActiveSheet.Unprotect Password:="0444786400"
        
        With Selection
            .Font.ThemeColor = xlThemeColorDark1
            .Font.TintAndShade = 0
            .Borders(xlEdgeLeft).Weight = xlThick
            .Borders(xlEdgeRight).Weight = xlThick
            .Borders(xlEdgeTop).Weight = xlThick
            .Borders(xlEdgeBottom).Weight = xlThick
        End With
            
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="0444786400"
            
        '# Gehe zu Preisfeld und markiere Inhalt.
            
        Range("D39").Select
        SendKeys "{F2}", True
        SendKeys "+(^{LEFT})"
    
    ElseIf ActiveCell = Range("D39") Then
    
        Range("D40").Select
        SendKeys "{F2}", True
        SendKeys "+(^{LEFT})"
        
    ElseIf ActiveCell = Range("D40") Then
    
        If Range("AB1").Value = True Then
        
            Range("I34:L34").Select
        
            Answer = MsgBox("Änderungen für Auswahl übernehmen?", vbYesNo, "Änderungen übernehmen")
            If Answer = vbYes Then
                Dateisystem.Speichern
            Else
                Range(Range("C36").Value).Select
            End If
            
        Else
        
            Range("G39").Select
            SendKeys "{F2}", True
            SendKeys "+(^{LEFT})"
            
        End If
        
    ElseIf ActiveCell = Range("G39") Then
    
        Range("G40").Select
        SendKeys "{F2}", True
        SendKeys "+(^{LEFT})"
        
    ElseIf ActiveCell = Range("G40") Then
    
        Range("I34:L34").Select
        
        Answer = MsgBox("Änderungen für Auswahl übernehmen?", vbYesNo, "Änderungen übernehmen")
        If Answer = vbYes Then
            Dateisystem.Speichern
        Else
            Range(Range("C36").Value).Select
        End If
            
    End If
        
End Sub
	 
	Gruß Samuel Will 
     |