Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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

VBA Bei Zellenänderung MsgBox ausführen!

VBA Bei Zellenänderung MsgBox ausführen!
03.07.2016 15:31:42
Lachmann
Guten Tag.
Ich durchsuche seit einigen Tagen das Internet für eine Lösung meines Problems.
Bin aber nicht fündig geworden aber immer wieder auf dieses Forum gestoßen und jetzt probiere ich mein Glück. Ich hoffe man kann mir helfen.
Aufgabenstellung:
Ich habe ein Tabellenblatt (Summenblatt) das Daten per Sverweis von anderen Tabellenblättern bekommt.
Ich ändere in der Zeile "C2" des Summenblatts das Datum von Juli16 auf August16. Jetzt hätte ich gerne das eine MsgBox erscheint falls eine änderung in der Zeile "F5-F44" passiert die sagt zb. "Achtung Zeile F6 hat sich geändert".
Ist sowas möglich?
Mfg Lachi

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Bei Zellenänderung MsgBox ausführen!
03.07.2016 20:11:48
Lachmann
Ich habe das im Forum gefunden weiß aber nicht was damit gemeint ist:
In einem Modul die Variable X als Public definieren und dann den code ins Blattmodul:
Private Sub Worksheet_Calculate()
If Range("A1") = X Then Exit Sub
X = Range("A1")
call dein makro
End Sub

das geht doch in die richtige Richtung oder?

AW: VBA Bei Zellenänderung MsgBox ausführen!
04.07.2016 10:30:09
Bernd
Hi,
mit diesem Code wird bei jeder manuellen Änderung in dem gewünschten Spaltenbereich ein Hinweis geöffnet.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bereich As Range
Set Bereich = Range("F5:F44")
If Intersect(Target, Bereich) Is Nothing Then
Exit Sub
Else
MsgBox ("Achtung " & Target.Address & " hat sich geändert.")
End If
End Sub
Ich vermute jedoch, das die dortigen Daten mithilfe einer Formel gezogen werden. leider bin ich kein VBA Profi um dies abzuändern, deshalb sollte der Code mal als Ansatz dienen.
mfg Bernd

Anzeige
AW: VBA Bei Zellenänderung MsgBox ausführen!
04.07.2016 21:50:26
Lachmann
Vielen dank dafür.

AW: VBA Bei Zellenänderung MsgBox ausführen!
04.07.2016 22:08:45
Lachmann
Ich habe wieder was Interessantes gefunden mit diesem Code

Option Explicit
Public alterWert
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If [f5] = alterWert Then
Exit Sub
Else
alterWert = [f5]
End If
MsgBox ("Änderung bei Platz 1.")
End Sub
funktioniert es.
Aber jetzt muß das auf den Bereich geändert werden.
kann mir einer schreiben wie das funktioniert?

AW: VBA Bei Zellenänderung MsgBox ausführen!
05.07.2016 08:39:53
Bernd
Hi,
füge diesen Code in Dein Summenblatt ein:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dd As Range, c As Range
If Target.Count > 6 Then Exit Sub
On Error GoTo errH
Set dd = Target.DirectDependents
For Each c In dd.Cells
MsgBox ("Achtung die Zelle " & c.Address(0, 0) & " hat sich geändert!")
Next
Exit Sub
errH:
End Sub
mfg Bernd

Anzeige
AW: VBA Bei Zellenänderung MsgBox ausführen!
05.07.2016 20:49:32
Lachmann
Guten Abend,
Vielen Dank für deine Bemühungen aber der Code funktioniert nicht. Wenn ich das Datum ändere schreibt er mir in ca 100 Zeilen das sich was geändert hat.

AW: VBA Bei Zellenänderung MsgBox ausführen!
06.07.2016 04:55:55
Bernd
Guten morgen,
dann würde ich Dir mal vorschlagen eine Beispielmappe hochzuladen.
Diese sollte dann exakt so aussehen wie das Original (mit Fakedaten eben), alle Formeln und Formatierungen besitzen.
Da ich ja kein Hellseher bin, kann ich somit nur raten z.B.: schreibst Du:
"Wenn ich das Datum ändere schreibt er mir in ca 100 Zeilen das sich was geändert hat."
Eventuell hast Du das, da Dein SVerweis dies so ausführt?
Naja, wie gesagt, Beispieldatei hochladen und dann sehen wir weiter, außer es wird hier von jemand anderem zwischenzeitig gelöst.
mfg Bernd

Anzeige
AW: VBA Bei Zellenänderung MsgBox ausführen!
08.07.2016 08:33:44
Lachmann
Entschuldige das ich erst jetzt schreibe hatte kaum Zeit. Hab noch ein bisschen rum probiert und habe ein Code selber geschrieben der wird aber sehr lang. Kann man den kürzen? Bezieht sich auf 3 Zeilen ich brauche 40 Zeilen.
Dim inhaltD2, inhaltD3, inhaltd4
Private Sub Worksheet_Calculate()
If Range("D2")  inhaltD2 Then
Dim Name1 As String
Name1 = Range("A1")
MsgBox "Änderung in " & Name1 & ""
inhaltD2 = Range("D2")
Else
If Range("D3")  inhaltD3 Then
Dim Name2 As String
Name2 = Range("B1")
MsgBox "Änderung in " & Name2 & ""
inhaltD3 = Range("D3")
Else
If Range("D4")  inhaltd4 Then
Dim Name3 As String
Name3 = Range("c1")
MsgBox "Änderung in " & Name3 & ""
inhaltd4 = Range("D4")
End If
End If
End If
End Sub

Anzeige
AW: VBA Bei Zellenänderung MsgBox ausführen!
09.07.2016 13:14:03
Lachmann
jetzt habe ich das problem das beim ersten mal die Variablen 0 drin stehen haben und erst beim ersten wechsel den aktuellen wert. Wie bekommt man das denn hin?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige