Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Popup Fenster

VBA Popup Fenster
26.01.2017 11:04:15
Beate
Hallo zusammen,
ich möchte gerne ein Makro schreiben, dass ein Popup-Fenster mit dem Text "Achtung" aufzeigt, sobald die Summe aus Zelle A1 und B1 größer als 0 ist.
Kann mir jemand helfen?
Wäre super!
lg
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Popup Fenster
26.01.2017 11:13:24
EtoPHG
Hallo Beate,
Frage: Wie kommen die Daten in A1 und B1 ? Wenn durch Formeln, welches sind die Quell-Zellen, in die manuell oder durch Datenabfragen Werte geschrieben werden, welche dir Formelwerte beeinflussen?
Gruess Hansueli
AW: VBA Popup Fenster
26.01.2017 11:19:22
Mullit
Hallo,
mal ein Bsp.:
' ********************************************************************** 
' Modul: Tabelle1 Typ: Klassenmodul des Tabellenblattes 
' ********************************************************************** 

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Address = "$A$1" Or .Address = "$B$1" Then _
       If WorksheetFunction.Sum(Range("$A$1:$B$1")) > 0 Then _
          Call MsgBox("Achtung!", vbExclamation)
End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: VBA Popup Fenster
26.01.2017 13:24:26
Beate
Hallo ihr beiden,
vielen Dank für Eure Hilfe!
Ich wollte es vereinfacht darstellen und habe die Zellen deswegen A1 und B1 genannt.
In meiner Datei liegen sie leider nicht nebeneinander, weshalb ich nicht mit "Range" arbeiten kann.
Es ist A130 und D168. Dazwischen befinden sich Zellen, die nicht in die Summen-Berechnung miteinfließen sollen.
Sorry dafür! So weit hatte ich nicht gedacht.
Die Zellen werden beide anhand von Formeln befüttert!
LG!
Anzeige
Welche Zellen es sind ist nebensächlich,
26.01.2017 13:41:43
EtoPHG
Beate,
Die Adressen genügen. Da du aber sagst: Die Zellen werden beide anhand von Formeln befüttert!
Kommt wieder meine entscheidende Frage (siehe oben):
Welches sind die Quell-Zellen (Adressen), die diese Formeln befüttern? ...oder welche Formeln stehen in den beiden Zielzellen?
Gruess Hansueli
Anzeige
AW: Welche Zellen es sind ist nebensächlich,
26.01.2017 15:15:47
Beate
Sorry! Es sind auch jeweils Summenformeln.
A130 = Summe(B130:W130)
D168 = Summe(D170:D190)
LG.
Nun verwirrt mich .... sind auch jeweils
26.01.2017 15:54:44
EtoPHG
Summenformeln, Beate
Heisst das: B130:W130 enthalten ebenfalls Summenformeln? Wenn ja wo liegt die Quelle derer... bis zur Quelle die ich suche: Welche Zellen-Bereiche werden manuell (durch Benutzereingaben) geändert, so das sich die Werte in A130 & A168 ändern ?
Gruess Hansueli
Anzeige
AW: Nun verwirrt mich .... sind auch jeweils
30.01.2017 10:19:30
Beate
Manuelle Einträge werden in
E132 - E151 und
E170 - E190 gemacht.
Aus diesen Eingaben ergeben sich die oben beschriebenen Summen.
LG
Diesen Code ins Tabellenblatt
30.01.2017 13:14:05
EtoPHG
Beate,
Kopier den Code in das Tabellenblatt (im VB-Editor Blatt doppelklicken und Copy-Paste)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E132:E151")) Is Nothing Or _
Not Intersect(Target, Range("E170:E190")) Is Nothing Then
If Range("A130") + Range("D168") > 0 Then
MsgBox "Warnung: Die Summe ist nicht gleich 0!", _
vbExclamation + vbOKOnly, "A130+D168"
End If
End If
End Sub
Gruess Hansueli
Anzeige
AW: VBA Popup Fenster
26.01.2017 13:42:03
Werner
Hallo Beate,
und weshalb beantwortest du die Frage von Hansueli nicht?
Genau für diesen Fall (mit Formel) hat er die Frage gestellt. Lies dir doch seinen Beitrag nochmals durch.
Gruß Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Popup-Fenster in Excel mit VBA erstellen


Schritt-für-Schritt-Anleitung

Um ein Excel Popup Fenster mit VBA zu erstellen, folge diesen Schritten:

  1. Öffne den Visual Basic-Editor:

    • Drücke ALT + F11, um den Editor zu öffnen.
  2. Wähle das entsprechende Arbeitsblatt:

    • Doppelklicke auf das Arbeitsblatt, in dem du das Popup-Fenster erstellen möchtest.
  3. Füge den folgenden Code ein:

    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("E132:E151")) Is Nothing Or _
          Not Intersect(Target, Range("E170:E190")) Is Nothing Then
           If Range("A130") + Range("D168") > 0 Then
               MsgBox "Warnung: Die Summe ist nicht gleich 0!", _
               vbExclamation + vbOKOnly, "A130+D168"
           End If
       End If
    End Sub
  4. Speichere die Änderungen:

    • Schließe den Editor und speichere die Excel-Datei als Makro-fähige Datei (*.xlsm).
  5. Teste das Popup:

    • Ändere Werte in den Zellen E132 bis E151 oder E170 bis E190 und prüfe, ob das Popup-Fenster erscheint.

Häufige Fehler und Lösungen

  • Fehler: Das Popup erscheint nicht:

    • Überprüfe, ob du die richtigen Zellen für die Eingaben verwendest. Stelle sicher, dass die Zellen E132 bis E151 oder E170 bis E190 geändert werden.
  • Fehler: "Typen sind nicht kompatibel":

    • Stelle sicher, dass die Werte in den Zellen A130 und D168 numerisch sind und die Summe korrekt berechnet wird.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch ein Excel Popup Fenster ohne VBA mit bedingter Formatierung oder Datenüberprüfung erstellen:

  1. Bedingte Formatierung:

    • Wähle die Zelle, die das Popup anzeigen soll, gehe zu "Bedingte Formatierung" und erstelle eine Regel, die die Zelle hervorhebt, wenn die Summe größer als 0 ist.
  2. Datenüberprüfung:

    • Gehe zu "Daten" > "Datenüberprüfung", und setze eine Warnung, die anzeigt, dass die Summe größer als 0 ist.

Praktische Beispiele

Ein praktisches Beispiel für ein VBA Popup Fenster könnte so aussehen:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("A1:B1")) Is Nothing Then
       If WorksheetFunction.Sum(Range("A1:B1")) > 0 Then
           MsgBox "Achtung! Die Summe ist größer als 0!", vbExclamation
       End If
   End If
End Sub

In diesem Beispiel wird ein Popup angezeigt, wenn die Summe der Zellen A1 und B1 größer als 0 ist.


Tipps für Profis

  • Verwende vba infobox popup für komplexere Dialoge:

    • Du kannst auch benutzerdefinierte Formulare erstellen, um mehr Eingaben zu ermöglichen oder verschiedene Optionen anzubieten.
  • Nutze Application.OnTime:

    • Um Popups zeitverzögert anzuzeigen, kannst du die Application.OnTime-Methode verwenden.

FAQ: Häufige Fragen

1. Wie erstelle ich ein einfaches Popup ohne VBA? Du kannst ein Popup-Fenster mit der Datenüberprüfung erstellen, indem du eine Warnmeldung für ungültige Eingaben festlegst.

2. Was mache ich, wenn mein Popup nicht erscheint? Überprüfe die Zellreferenzen im VBA-Code und stelle sicher, dass die Trigger-Zellen korrekt sind und die Berechnungen funktionieren.

3. Ist es möglich, Eingaben im Popup zu erhalten? Ja, du kannst ein benutzerdefiniertes Formular in VBA erstellen, um Eingaben vom Benutzer zu erhalten und diese dann in Zellen zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige