Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1536to1540
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

MSGBOX bei Zellinhalt

MSGBOX bei Zellinhalt
02.02.2017 17:07:15
RE
Hallo zusammen
Brauche eure Hilfe.
Würde gerne automatisch ein Makro starten, wenn in Zelle AG9 ein gewisser Wert auftaucht (Wert wennfehler).
Komme mit meinem Makro nicht weiter und hoffe, dass mir jemand helfen kann.

Private Sub Worksheet_Calculate()
If Range("AG9") = "Falsche Woche" Then
MsgBox "Zelle enthält einen Fehler."
End If
End Sub

Danke und Gruss,
RE

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MSGBOX bei Zellinhalt
02.02.2017 17:17:40
onur
Hi,
Welcher Wert denn :"Falsche Woche" oder (Wert wennfehler)?
Gruß
Onur
AW: MSGBOX bei Zellinhalt
02.02.2017 17:19:06
Hajo_Zi
der Code ist richtig. Mich würde es aber stören das er bei jeder Berechnung erscheint.
Gruß Hajo
AW: MSGBOX bei Zellinhalt
02.02.2017 17:28:29
ChrisL
Hi
N.b dies könnte man vielleicht auch ohne VBA mittels Gültigkeitsprüfung lösen.
Der Syntax sieht eigentlich OK aus (vorausgesetzt du hast den Code im Modul der Tabelle, kein Standard-Modul). Lade mal eine anonymisierte Beispieldatei inkl. Formeln und Werte, welche zum Ergebnis führen, weil...
Ein Calculate-Ereignis ist m.E. suboptimal, weil die Meldung bei jeder Neuberechnung wieder und wieder auftaucht. Ein Change-Ereignis wäre vermutlich besser, jedoch muss man dazu die Details kennen (das Change-Ereignis wird nicht durch die Änderung des Formelergebnisses ausgelöst, sondern durch die Zellen, welche zum Ergebnis führen). Darum eine Beispieldatei.
Vielleicht könnte man Fehleingaben auch ganz verhindern indem man nur gültige Werte zur Auswahl stellt.
Und wenn du selber Debuggen willst, müsste man prüfen ob das Calculate-Ereignis überhaupt ausgelöst wird...
Private Sub Worksheet_Calculate()
MsgBox "Dies ist ein Test"
End Sub
Und falls ja kann es nur noch an der Bedingung (Range("AG9") = "Falsche Woche") liegen. Falsches Blatt, falsche Zelle oder Schreibfehler im Text.
cu
Chris
Anzeige
AW: MSGBOX bei Zellinhalt
02.02.2017 18:31:34
RE
Bin unterwegs und kann gerade nichts hochladen. Wenn ich einen CMD Button einfüge, und diesen klicke, dann kommt, falls wert in zelle 4 ist die messagebox. Wenn der wert 3 ist passiert nichts. Funktioniert also mit button, nicht aber bei berechnung. Die mappe heisst "pivot"... Muss ich da was am code ändern? If worksheets("pivot").range("d4").value = 4 then
Msgbox "hallo"
End if
End sub
AW: MSGBOX bei Zellinhalt
02.02.2017 19:24:02
ChrisL
Eilt nicht...
Vielleicht
https://msdn.microsoft.com/en-us/library/office/ff822105.aspx
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
MsgBox "The PivotTable connection has been updated."
End Sub
cu
Chris
Anzeige
AW: MSGBOX bei Zellinhalt
02.02.2017 20:00:33
RE
Hallo Chris
Habe hier mal eine Bsp Datei, welche auch im Original mit dem Drehfeld läuft. Nur der Wert ist berechnet und nicht nur Wert wie in der Bsp Datei.
Müsste ja hier auch funktionieren...
Hoffe du kannst mir helfen...
P.S Die Mappe heisst nur Pivot, der Wert, der ausgegeben wird stammt aber nicht von der Pivot direkt...
Wie kann ich das File hochladen? Kann auf dem MAC (Normal Windows) keine Enddatei .xl* auswählen...
Gruss,
RE
AW: MSGBOX bei Zellinhalt
03.02.2017 08:28:35
ChrisL
Hi
Zum File-Upload musst du den Zum File-Upload Button drücken.
Mit Mac kenne ich mich nicht aus.
cu
Chris
AW: MSGBOX bei Zellinhalt
03.02.2017 08:45:54
RE
Morgen Chris
Das funktioniert alles nicht.
Habe den Code umgeschrieben, ohne msgbox. Er soll mir nur, falls in AG9 "Falsche Woche" ausgegeben wird, den Wert von C8 nehmen und in die Zelle AR21 eintragen (C8 = AR 21)
Die Zelle AR 21 wird ansonsten mit einem Drehfeld bedient.
Hier mein Code, finde aber keinen Fehler, respektive gibt er keine Fehlermeldung aus.
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("AG9").Value = "Falsche Woche" Then
Range("AR21").Value = Range("C8")
End If
End Sub

Anzeige
AW: MSGBOX bei Zellinhalt
03.02.2017 09:29:08
ChrisL
Hi nochmal
Wie bereits erwähnt müsste man mal wissen ob es am Ereignis/Event oder an der Bedingung liegt. Ohne Beispieldatei bist du auf dich alleine gestellt.
cu
Chris
AW: MSGBOX bei Zellinhalt
03.02.2017 09:53:58
onur
Hi
Nicht in selection_change, sondern in _change.
Gruss
Onur
AW: MSGBOX bei Zellinhalt
03.02.2017 10:38:33
onur
Hi
Nicht in selection_change, sondern in _change.
Gruss
Onur
AW: MSGBOX bei Zellinhalt
03.02.2017 13:57:46
RE
Hallo Onur
Habe das Makro angepasst, bei einer Änderung dieser Zelle passiert aber nichts. Das ist nun der aktuelle Code:
Sub Worksheet_Change(ByVal Target As Range)
If Range("AG9").Value = "Falsche Woche" Then
Range("AR21").Value = Range("C8")
End If
End Sub
Im Anhang eine Bsp. Datei, wie das ganze funktionieren sollte. Danke für die Unterstützung!
https://www.herber.de/bbs/user/111148.xlsm
Anzeige
AW: MSGBOX bei Zellinhalt
03.02.2017 14:16:44
onur
Hi
Das ".value" muss weg (alle beide), value versucht den wert zu ermitteln, da das aber ein string ist, ergibt das dann null.
Die datei schaue ich mir an, wenn ich zu hause bin.
Gruss
Onur
AW: MSGBOX bei Zellinhalt
03.02.2017 14:47:03
RE
Danke für deine Antwort.
Habe die .value weggelassen, ändert aber nichts daran... Bin leider noch kein VBA Hirsch :-)
AW: MSGBOX bei Zellinhalt
03.02.2017 15:52:24
ChrisL
Hi
Das Drehfeld löst kein Change-Ereignis aus. Darum müsste die If-Bedingung in ein normales Makro (Standard-Modul) und mit rechter Maustaste auf das Drehfeld weist du das Makro zu. Allerdings würde ich den Minimum-Wert vom Drehfeld einfach so einstellen, dass der Wert gar nicht erst unterschritten werden kann.
cu
Chris
Anzeige
AW: MSGBOX bei Zellinhalt
03.02.2017 17:18:52
onur
Hi
Da der Wert sich nicht durch dich oder extern geändert wird, sondern durch deine formel, ist das Calculate-Ereignis das Richtige für dich.
Siehe dein Beispiel:
https://www.herber.de/bbs/user/111163.xlsm
P.S.: Wenn Du meine Frage vom 2.2.2017 17:17 beantwortet hättest, hättest du dir das ganze hin und her sparen können.
AW: MSGBOX bei Zellinhalt
03.02.2017 17:36:25
RE
Hallo Onur
Sorry, da gab es wahrscheinlich ein Missverständnis, bin noch nicht so sattelfest.
Deine Lösung funktioniert in dem File perfekt, genau was ich wollte.
Wieso krieg ich das in meinem originalen nicht hin? Hat das was damit zu tun? Wo ich den Code einpflege?
https://www.herber.de/bbs/user/111165.xlsm
Anzeige
AW: MSGBOX bei Zellinhalt
03.02.2017 18:38:20
onur
Schick mal das eine Blatt mit Code (Einfach neue Arbeitsmappe und reinkopieren).
Besser wäre natürlich alles.
Wodurch wird der Wert die Zelle denn geändert? Ich vermute mal, NICHT durch ein Drehfeld.
Gruß
Onur
AW: MSGBOX bei Zellinhalt
03.02.2017 19:27:06
onur
Hi,
Schreib mal als erste Zeile hinter dem Sub Worksheet_Change und Sub Worksheet_Calculate des Blattes (wo das makro ansetzt)jeweils ein "xyz=1/0".
Wenn keine Fehlermeldung kommt, sobald du auf dem blatt einen wert änderst oder eine berechnung anstellst, werden die Events durch irgendeinen anderen code unterdrückt/abgeschaltet, so dass die events nicht ausgelöst werden.
Anzeige
AW: MSGBOX bei Zellinhalt
04.02.2017 11:19:24
RE
Hallo Onur
Der Code funktioniert nun auch im original File. Musste aber das Makro dem Drehfeld zuordnen.
Danke für die Hilfe, auch an Chris!
Gurss,
RE
AW: MSGBOX bei Zellinhalt
03.02.2017 20:13:35
onur
Hi,
Sorry, habe ich jetzt erst gesehen::
NICHT in diese Arbeitsmappe kopieren, sondern in das Blatt, wo die Zelle ist, die überprüft werden soll.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige