AW: Wenn Bedingung, dann Pop Up Fenster öffnen
10.01.2024 15:27:21
Fuzzy-Pow
Hi Tobi, hab dir da mal was gebastelt ...
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
https://www.herber.de/bbs/user/166003.xlsm
... ich hoffe Du kommst damit klar.
Fuzzy