Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzten positiven Wert aus Spalte in MsgBox

Letzten positiven Wert aus Spalte in MsgBox
25.06.2013 09:12:10
Nils
Hallo,
ich habe ein relativ einfaches Problem. Ich möchte mir auf einen Button legen,
dass der letzte positive Wert in einer Spalte per MsgBox angezeigt wird.
Die Spalte startet mit hohen Zahlen die nach unten immer kleiner werden und irgendwann über 0 ins negative gehen. Den letzten positiven Wert würde ich gerne wiedergeben.
Danke für Eure Unterstützung.

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzten positiven Wert aus Spalte in MsgBox
25.06.2013 10:11:45
Rudi
Hallo,
wozu VBA?
ABC
1wert  
2100 13
392  
479  
565  
656  
742  
836  
932  
1027  
1113  
12-2  
13-5  
14-8  

ZelleFormel
C2{=INDEX(A1:A100;MAX(WENN(A1:A100>0;ZEILE(1:100);"")))}
Achtung, Matrixformel!
Die geschweiften Klammern{} nicht eingeben,
sondern die Zelle mit
Shift + Strg + Enter
verlassen statt Enter alleine.

Gruß
Rudi

Anzeige
Wozu Index?
25.06.2013 10:33:36
Klaus
Hallo Rudi,
Wozu der Umweg über INDEX(ZEILE())?
{=MIN(WENN(A:A>0;A:A))}
reicht völlig!
Grüße,
Klaus M.vdT:

AW: Letzten positiven Wert aus Spalte in MsgBox
25.06.2013 10:16:14
Peter
Hallo Nils,
als eigenständiges Makro so:
Option Explicit
Public Sub Positiver_Wert()
Dim WkSh     As Worksheet
Dim lZeile   As Long
Dim iSpalte  As Integer
Set WkSh = ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen
iSpalte = 1 ' die Spalte (hier A) festlegen
With WkSh
For lZeile = .Cells(.Rows.Count, iSpalte).End(xlUp).Row To 1 Step -1
If IsNumeric(.Cells(lZeile, iSpalte).Value) Then
If .Cells(lZeile, iSpalte).Value >= 0 Then
MsgBox "Die Zelle in Zeile " & lZeile & vbLf & _
"enthält den Wert " & Format(.Cells(lZeile, iSpalte).Value, "0.00")
Exit For
End If
End If
Next lZeile
End With
End Sub

Gruß Peter

Anzeige
AW: Letzten positiven Wert aus Spalte in MsgBox
27.06.2013 12:04:18
Nils
Sehr hilfreich. Ich probiere alles mal aus. Danke für Eure Antworten.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Letzten positiven Wert in Excel per MsgBox anzeigen


Schritt-für-Schritt-Anleitung

Um den letzten positiven Wert in einer Excel-Spalte anzuzeigen, kannst Du ein Makro verwenden. Hier sind die Schritte, um es einzurichten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    Public Sub Positiver_Wert()
       Dim WkSh     As Worksheet
       Dim lZeile   As Long
       Dim iSpalte  As Integer
       Set WkSh = ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen
       iSpalte = 1 ' die Spalte (hier A) festlegen
       With WkSh
           For lZeile = .Cells(.Rows.Count, iSpalte).End(xlUp).Row To 1 Step -1
               If IsNumeric(.Cells(lZeile, iSpalte).Value) Then
                   If .Cells(lZeile, iSpalte).Value >= 0 Then
                       MsgBox "Die Zelle in Zeile " & lZeile & vbLf & _
                       "enthält den Wert " & Format(.Cells(lZeile, iSpalte).Value, "0.00")
                       Exit For
                   End If
               End If
           Next lZeile
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Füge einen Button in Deine Tabelle ein und verlinke ihn mit dem Makro Positiver_Wert.

Jetzt kannst Du den Button klicken, um den letzten positiven Wert in der angegebenen Spalte anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: "Der Vorgang konnte nicht ausgeführt werden."
    Lösung: Stelle sicher, dass der Tabellenblattname im Code korrekt ist. Ändere Tabelle1 auf den tatsächlichen Namen Deines Arbeitsblatts.

  • Fehler: MsgBox zeigt keinen Wert an.
    Lösung: Überprüfe, ob in der angegebenen Spalte tatsächlich positive Werte vorhanden sind. Wenn alle Werte negativ sind, wird die MsgBox nicht angezeigt.


Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch eine Formel nutzen, um den letzten positiven Wert zu finden. Zum Beispiel könntest Du folgende Matrixformel verwenden:

{=MAX(WENN(A:A>0;A:A))}

Um diese Formel einzugeben, drücke Shift + Strg + Enter, nicht nur Enter.


Praktische Beispiele

Angenommen, Du hast folgende Werte in Spalte A:

A
100
92
79
65
-2
-5
-8

Nach Ausführung des Makros wird die MsgBox anzeigen:

Die Zelle in Zeile 4 enthält den Wert 79.00

Mit der Matrixformel erhältst Du ebenfalls den Wert 79.


Tipps für Profis

  • Verwende die Option Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.
  • Teste Deine Makros immer in einer Kopie Deiner Arbeitsmappe, um ungewollte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Spalten verwenden?
Ja, ändere einfach die iSpalte-Variable im Code auf die entsprechende Spaltennummer (1 für A, 2 für B usw.).

2. Was, wenn ich mehrere Spalten gleichzeitig überprüfen möchte?
Du kannst das Makro anpassen, um eine Schleife für mehrere Spalten zu erstellen. Achte darauf, dass die Logik für jede Spalte korrekt implementiert ist.

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