Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle bei Änderung in Msgbox ausgeben

Zelle bei Änderung in Msgbox ausgeben
06.11.2014 09:13:34
Markus
Hallo Zusammen,
ich möchte eine Zelle z.Bsp. B3 als Msgbox ausgeben, aber nur wenn sich Zelle B3 ändert. Die Zelle wird mit einer Formel berechnet. Die Msgbox sollte nur einmal
angezeigt werden und erst bei der nächsten Änderung der Zelle B3 und auch nur in diesem Sheet.
Ich habe es auch schon mit Calculate versucht jedoch ohne Erfolg!
Das ist mein Ansatz.
Die Msgbox wird jedoch bei jedem Zugriff auf eine Zelle angezeigt.
If Worksheets("Test").Cells(2, 3).Value = "0" Then
Exit Sub
Else
MsgBox "Achtung! " _
& vbCrLf & "Bitte folgende Info beachten! " _
& vbCrLf _
& vbCrLf & [b3]
End If
Vielen Dank für Eure Hilfe.
Gruß Markus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 12:01:35
Frank
Hallo Markus,
dafür bietet sich das Ereignis Worksheet_Change-Ereignis an.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
Dummy = MsgBox("Es ist vollbracht!", vbOKOnly, "B3 hat sich geändert")
End If
End Sub
Grüsse, Frank

AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 13:26:47
Markus
Hallo,
funktioniert bei mir nicht!
Die Variable ist nicht definiert und ohne läuft es auch nicht.
Habe es in das Sheet geschriebn!?
Danke.
Gruß Markus

AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 13:54:10
hary
Moin
Evtl. besteht die Moeglichkeit den Wert aus B3 in eine andere Zelle zu setzen. Nach dem Calculate wird verglichen und neu reingeschrieben.
D5 ist nur eine Bsp. Zelle
Private Sub Worksheet_Calculate()
If Range("D5").Value  Cells(3, 2).Value Then
MsgBox "Wert geaendert"
Range("D5").Value = Cells(3, 2).Value
End If
End Sub

ansonsten mal mit einer Public Variablen probieren.
In Open Ereigniss die variable setzen und auch vergleichen.
gruss hary

Anzeige
AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 16:42:12
Frank
Hallo Markus,
Die Variable ist nicht definiert und ohne läuft es auch nicht - Dann in den Abschnitt Deklarationen ein Dim Dummy einfügen oder das Option explicit löschen. Dann läuft es auch, ohne die Variable zu deklarieren.
MsgBox Target.Value funktioniert auch, einfach so als Zeile. Die Variablenzuweisung braucht man nur, wenn man noch Optionen für die Msgbox nutzen will (hier: Titelzeile und OK-Button). Weil man die Variable hier für sonst nix braucht, heisst die auch Dummy.
Den Code meines vorigen Postings kopieren, mit Alt-F11 den VBA-Editor öffnen, links in der Baumansicht des Projekts auf das Tabellenblatt doppelklicken und den Code einfügen. Ggf. noch das "Es ist vollbracht!" durch Target.value ersetzen (schreibt statt des Textes den Inhalt der Zelle in die MsgBox).
Grüsse,
Frank

Anzeige
AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 16:54:35
Markus
Hallo,
habe es jetzt über einen Vergleich gemacht und läuft!
Danke für eure Hilfe und den richtigen Tip.
Gruß Markus
Private Sub Worksheet_Calculate()
If Range("B9").Value  Range("S4") Then
If ActiveSheet.Range("Q4").Value = "0" Then
Range("S4").Value = Range("B9").Value
Exit Sub
Else
MsgBox "Achtung! " _
& vbCrLf & "Bitte folgende Info beachten! " _
& vbCrLf _
& vbCrLf & Worksheets("Test").Range("Q4")
End If
Range("S4").Value = Range("B9").Value
End If
End Sub

AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 17:23:38
hary
Moin Frank
Falls du nochmal reinschaust.
Sollte reichen.
Private Sub Worksheet_Calculate()
If Range("B9").Value  Range("S4") Then
If Range("Q4").Value  "0" Then
MsgBox "Achtung! " & vbCrLf & "Bitte folgende Info beachten! " & vbCrLf & vbCrLf &  _
Worksheets("Test").Range("Q4")
End If
Range("S4").Value = Range("B9").Value
End If
End Sub

Und 'ne schoenere MsgBox:
MsgBox "Bitte folgende Info beachten! " & vbCrLf & vbCrLf & Worksheets("Test").Range("Q4"), vbInformation, "Achtung"
gruss hary

Anzeige
AW: Sry, meinte Markus gruss owT
06.11.2014 17:24:53
hary
.

AW: Zelle bei Änderung in Msgbox ausgeben
06.11.2014 16:55:02
hary
Moin Frank
Zitat:
"sich Zelle B3 ändert. Die Zelle wird mit einer Formel berechnet"
da hilft Change nicht.
gruss hary

Ja, danke, habe ich übersehen owT
06.11.2014 17:04:36
Frank

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige