Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn Wert in Zellen größer 0, dann MsgBox

Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 09:32:43
Berndt
Hallo Leute,
eine Frage:
wie kann ich ich im Tabellenblatt ("HB") ein automatische Makro einstellen, dass eine Msg Box aufruft, sobald der Wert größer 0 ist
und zwar für Spalte H; Zelle 41,43,44,47,48,49,51,52,53,54
Danke im Voraus.
Berndt

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 09:56:46
Bernd
Hi,
mal als Ansatz, restliche Zellen musst anpassen:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range("H41") > 0 Then
MsgBox ("Wert überschritten")
Exit Sub
End If
End Sub
mfg Bernd

AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 11:03:29
Berndt
Hallo Bernd,
danke erstmal für deine Hilfe.
Ein Problem besteht dennoch.
Ich gebe in Tabellenblatt "A" eine Formel ein. Dieser Wert wird dann im besagten Tabellenblatt (HB") Zelle H41 eingetragen. d.h. in H42 steht eine SVerweiß-Formel Standardmäßig.
Wenn ich H41 manuell mit einer Zahl größer 0 ersetze, funktioniert das Makro. Super.
Wenn ich aber in Tabellenblatt"A" standartmäßig meine Werte eingebe, die dann in "HB" transportiert (mit sverweiß) werden sollen, funktioniert das Makro plötzlich nicht mehr.
Ich hoffe ich habe mich deutlich ausgedrückt. :-)

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 11:11:54
Bernd
Hi,
da blicke ich nicht ganz durch. Sollen dann in der Spalte H; Zelle 41,43,44,47,48,49,51,52,53,54 zehn Hinweisfenster gleichzeitig aufgehen?
Was soll das für einen Sinn haben?
Lade mal eine Beispielmappe hoch, sonst wirds nichts werden hier, jedenfalls bei mir.
lg Bernd

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 11:21:19
Berndt
Hier eine Bsp. Datei.
Ausgangsbasis ist immer "A". Dort werden die Daten gepflegt.
Wenn ich in "A" in S2 eine Zahl eingebe, greift der Sverweis. Somit steht in "HB" die Zahl aus "S2".
Sobald dort eine Zahl steht möchte ich diese Msg Box erscheint
https://www.herber.de/bbs/user/106671.xlsx

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 12:03:46
Bernd
Servus,
der dritte "Bernd" gesellt sich mal kurz dazu :-)
Probiere mal den folgenden Code (ungetestet):

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range("H41").Value > 0 Or Range("H43").Value > 0 Or Range("H44").Value > 0 Or _
Range("H47").Value > 0 Or Range("H48").Value > 0 Or Range("H49").Value > 0 Or _
Range("H51").Value > 0 Or Range("H52").Value > 0 Or Range("H53").Value > 0 Or _
Range("H54").Value > 0 Then
MsgBox ("Wert überschritten")
End If
End Sub
Grüße

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 12:31:28
Berndt
Danke dritter Bernd,
funktioniert aber immer noch nicht. Lasst mal die Alternativen weg und betrachten wir mal nur H41.
ändere ich H41 manuell funktioniert es. Aber wenn der Sverweiß dort die Zahl übernimmt reagiert das Makro nicht. Komisch

AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 13:01:35
Bernd
Hi nochmals,
nur eine Verständnisfrage?
Wenn Du in Deiner Tabelle "A" den Wert eingibst, was macht es dann für einen Sinn wenn am Blatt "HB" ein Hinweisfenster kommt?
Dann kannst ja gleich den Bezug auf dieses Blatt geben, wo Du Daten eingibst.
Und am Blatt "HB" genügt ja z.B.: eine Wenn Formel die Dir anzeigt, das der Wert größer als Null ist.
Also ich Blicke da nicht durch, sorry.
lg Bernd

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 13:41:42
Berndt
ich glaube wir haben aneinander vorbei geredet.
"A" ist mein Eingabefenster
"HB" mein Ergebnisfenster
Was in A eingetragen wird, wird mithilfe eines Sverweises in "HB" an richtiger Stelle platziert.
Am besten wäre es natürlich das Hinweisfeld poppt in "A" auf.
Es soll halt lediglich auftauchen, wenn in "HB" Zelle H41 eine Summe steht.

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 13:59:04
Bernd
Hi,
wass denn nu?
Nur in H41 oder doch lieber in H41,43,44,47,48,49,51,52,53,54?
Nur nochmals, Sinn sehe ich noch immer keinen.
lg Bernd

AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 14:06:04
Bernd
Hi, nur für H41:
Also den Code ins Tabellenblatt A
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Worksheets("HB").Range("H41").Value > 0 Then
MsgBox ("Wert überschritten")
Exit Sub
End If
End Sub
lg Bernd

Anzeige
AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 14:55:20
Berndt
Vielen Dank. Es funktioniert.

Hallelujah, Danke für die Rückmeldung, owT
01.07.2016 18:15:19
Bernd

AW: Wenn Wert in Zellen größer 0, dann MsgBox
01.07.2016 13:10:22
Christian
Hi Berndt,
anbei eine Datei die (hoffentlich) dass macht was du beschrieben hast.
"Ändere Werte in Tabelle A und überprüfe Zellen in Tabelle HB ob > 0, wenn Ja MSgBox".
Ob das Sinn macht, ist bei dem Setting (Werte ziehen mit Sverweis) eine andere Frage.
Gruß,
Christian
https://www.herber.de/bbs/user/106677.xlsm

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

MsgBox in Excel bei Werten größer 0 anzeigen


Schritt-für-Schritt-Anleitung

Um eine MsgBox in Excel anzuzeigen, wenn der Wert in bestimmten Zellen größer 0 ist, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird in das entsprechende Arbeitsblatt eingefügt, in diesem Fall das Arbeitsblatt "A", wo die Eingaben gemacht werden.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Wähle das Arbeitsblatt „A“ in der Projektansicht aus.

  3. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
       If Worksheets("HB").Range("H41").Value > 0 Then
           MsgBox ("Wert überschritten")
       End If
    End Sub
  4. Schließe den VBA-Editor und teste die Funktion, indem Du einen Wert in Zelle „S2“ des Arbeitsblatts „A“ eingibst.


Häufige Fehler und Lösungen

  • Problem: MsgBox erscheint nicht, wenn der Wert durch eine Formel (z.B. SVerweis) übernommen wird.

    • Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt eingefügt wurde und überprüfe, ob die Zellreferenzen korrekt sind. Eine Möglichkeit ist, die Änderung in der Zelle zu überwachen, die den Wert über SVerweis bezieht.
  • Problem: Mehrere MsgBoxen erscheinen gleichzeitig.

    • Lösung: Du kannst die Logik so ändern, dass nur eine MsgBox angezeigt wird, indem Du die Bedingungen anpasst. Zum Beispiel:
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
       Dim rng As Range
       Set rng = Worksheets("HB").Range("H41:H54")
       If Application.WorksheetFunction.CountIf(rng, ">0") > 0 Then
           MsgBox ("Wert überschritten")
       End If
    End Sub

Alternative Methoden

  1. Wenn-Dann-Formel: Du kannst eine einfache Formel in einer anderen Zelle verwenden, um zu überprüfen, ob der Wert größer als 0 ist:

    =WENN(H41>0; "Wert überschritten"; "")
  2. BedConditional Formatting: Du kannst auch die bedingte Formatierung nutzen, um Zellen hervorzuheben, die einen Wert größer 0 haben.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den VBA-Code erweitern kannst, um mehrere Zellen zu überwachen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim rng As Range
    Set rng = Worksheets("HB").Range("H41,H43,H44,H47,H48,H49,H51,H52,H53,H54")
    Dim cell As Range
    For Each cell In rng
        If cell.Value > 0 Then
            MsgBox ("Wert in " & cell.Address & " überschritten")
            Exit For
        End If
    Next cell
End Sub

In diesem Beispiel wird eine MsgBox angezeigt, die die genaue Zelle angibt, die den Wert überschreitet.


Tipps für Profis

  • Code optimieren: Vermeide unnötige Berechnungen, indem Du Bedingungen in einer einzigen If-Anweisung zusammenfasst.
  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben stabil bleibt.
  • Nutzereingaben: Stelle sicher, dass der Benutzer über die MsgBox genau informiert wird, welche Eingabe zu der Warnung geführt hat.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die MsgBox anpassen, um spezifische Informationen anzuzeigen?
Antwort: Du kannst den Text in der MsgBox ändern, um spezifische Informationen anzuzeigen, z.B. durch die Verwendung von Variablen, die die Zelladresse oder den Wert enthalten.

2. Frage
Was ist der Unterschied zwischen einer MsgBox und einer Zellenanzeige?
Antwort: Eine MsgBox ist ein Popup-Fenster, das eine sofortige Benachrichtigung bietet, während eine Zelle direkt auf dem Arbeitsblatt bleibt und die Informationen dort anzeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige