Clever-Excel-Forum

Normale Version: VBA - Problemlösung?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen.

Ich habe folgendes VBA Problem:

Ich habe in die Tabelle folgendes Makro stehen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Farbe

If Target.Address = "$X$31" Then
  Select Case Target.Value
 
    Case 50 To 54
        Call Niveau1
       
    Case 55 To 59
        Call Niveau2
   .......

.........

.......   
   
  End Select
End If

End Sub

Die Zelle "X31" ist eine Verbindung, z.B: =A1+A2 ... Wenn ich was in die Zelle "X31" direkt eintippe, dann funktioniert mein "obenstehendes Makro", aber wenn ich denn Wert("X31") durch A1 oder A2 verändere, dann blickt das Makro nicht, dass sich der Wert in der Zeile "X31" verändert hat?!?!  Confused

Hoffentlich ist meine Problem verständlich.

Bitte um Hilfe wie ich das problem lösen kann?  Huh

MfG
Andre
Hallo,

dafür musst du statt Worksheet_Change() das Worksheet_Calculate()-Ereignis verwenden. Eine Formelberechnung löst nämlich kein Change-Ereignis aus.
Oder du änderst halt den abgefragten Addressbereich auf
Code:
If Target.Address = "$A$1" Or Target.Address = "$A$2" Then
Alternativ dazu
Code:
If Not Application.Intersect(rgTarget, .Range("A1:A2")) Is Nothing Then
Hallo,
das Change_Ereignis reagiert nur auf manuelle Veränderungen, nicht auf Ergebnisänderungen einer Formel. Wenn sich dei Werte in A1 oder A2 ändern, muss Dzu auch darauf prüfen:
PHP-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Farbe

If Target.Address "$A$1" Or Target.Address "$A$2" Then
  Select 
Case Range("X31").Value
 
    
Case 50 To 54
        Call Niveau1
       
    
Case 55 To 59
        Call Niveau2
   
.......

.........

.......
   
  End Select
End 
If

End Sub

Gruß Regina 
@Berni & Regina

Vielen herzlichen Dank euch, funktioniert SUPER!  :23: :28:

Liebe Grüße
Andre