hoffe ihr könnt mir weiterhelfen:
Wie schreibe ich folgendes als Code:
Wenn die Zellen in der Range D6:D23 gleich "ja" sind, dann öffnet sich ein Popup Fenster "Achtung bitte anschauen"
Danke im Voraus
VG
Option Explicit
Sub Worksheet_Change(ByVal Target As Range)
' ... darin dann die Zelle (Zeile / Spalte) auswerten, wo was geändert wurde
If (Target.Column = 2) And (Target.Row = 2) Then
' .. ruf dein PopUp auf -> das kannst du selber oder ??
Beep
End If
' oder
If Target.Value = True Then ' vergeiche mit dem was Du brauchst/verarbeitets
' .. und dein PopUp
Beep
End If
End Sub
Option Explicit
Sub Worksheet_Change(ByVal Target As Range)
Dim xRng As Range
Dim i As Integer
'Die geänderte Zelle (Target) darf nur eine Zelle sein, also keinen Bereich ändern
If Target.Count = 1 Then ' Target.Count hat nur eine Zelle
' ... darin dann den Bereich auswerten, der überwach werden soll
Set xRng = Application.Intersect(Range("B2:C3"), Target) ' hier wird abgefragt, ob die geänderte Zelle im Bereich ist ...
' Der Bereich wird hier jetzt sozusagen STATISCH festgelegt, was nicht unbedingt günstig ist.
' Mit einem beannten Bereich "NamensManager" wäre das besser, da dann bei Änderung des Bereiches
' der Code nicht geändert werdenn muß
Set xRng = Application.Intersect(Range("Bereich"), Target) ' hier wird abgefragt, ob die geänderte Zelle im Bereich ist ...
' ... wenn JA, dann muss das Ergebnis(xRng); in dem Fall; einen Bereich definieren, also nicht Nothing.
' Wenn Intersect Nothing ergibt, dann sind die beiden Bereiche nicht ÜBERLAPPEND !
If Not xRng Is Nothing Then
'Was soll da alles überprüft werden, nur die aktuell geänderte, oder alle Zellen in dem Bereich ???
' 1.) in dem CodeBlock jetzt nur die aktuelle Zelle (= Target)
If Target = True Then ' vergeiche mit dem was Du brauchst/verarbeitets
' .. und dein PopUp
Beep
i = MsgBox("Achtung bitte anschauen", vbOK, "Achtung")
End If
' 2.) oder alle Zellen in dem Bereich
For Each xRng In Range("B2:C3")
' müssen da jetzt alle Zellen "TRUE" sein oder was ??
If xRng = True Then Beep
Next
End If ' If xRng Is Target
End If ' If Target.Count = 1
End Sub