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

Maximalwert über VBA ermitteln

Forumthread: Maximalwert über VBA ermitteln

Maximalwert über VBA ermitteln
26.05.2005 11:53:48
holli
Hallo,
ich möchte mit einem Makro den Maximalwert der Spalte A ermitteln und diesen in die Zelle B1 hineinschreiben. Die Funktion Max scheint VBA in diesem Zusammenhang nicht zu kennen. Kann mir jemand einen Tipp geben?
Danke!
Gruß
Holger
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Maximalwert über VBA ermitteln
26.05.2005 11:55:00
Hubert
[b1]= application.max([a:a])
mfg Hubert
AW: Maximalwert über VBA ermitteln
26.05.2005 12:01:02
Holli
Vielen Dank Hubert, genau das wars!!!!
AW: Maximalwert über VBA ermitteln
26.05.2005 12:02:39
Fritz
Hi Holger,
wert = Application.WorksheetFunction.Max(Range("A1:A5"))
Fritz
Anzeige
...oder WorksheetFunction.Max...
26.05.2005 12:12:00
Luc:-?
...nur Application.Max... ist eigentlich nicht ganz OK, Leute,
das war wohl früher mal (Office95) klappt aber wohl in Office97 auch noch!
Gruß Luc :-?
AW: ...oder WorksheetFunction.Max...
26.05.2005 12:17:41
Hubert
Hi,
die MS Knowledge Base schreibt dazu, dass es bei Verwendung von Worksheetfunction
bei einigen Funktionen zu Fehlern kommen kann, welche das im Einzelnen sind, wird
nicht näher beschrieben. Empfohlen wird Application zu verwenden.
mfg Hubert
Anzeige
Aha! MS linke Hand zu MS rechte Hand!
26.05.2005 13:04:04
Luc:-?
:)
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Maximalwert über VBA ermitteln


Schritt-für-Schritt-Anleitung

Um den Maximalwert einer Spalte in Excel über VBA zu ermitteln, kannst du folgende Schritte befolgen:

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

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub MaximalwertErmitteln()
        Dim maxWert As Double
        maxWert = Application.WorksheetFunction.Max(Range("A1:A5")) ' Bereich anpassen
        Range("B1").Value = maxWert
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem du zu Entwicklertools > Makros gehst, das Makro MaximalwertErmitteln auswählst und auf Ausführen klickst.

Damit wird der Maximalwert der Zellen A1 bis A5 in die Zelle B1 geschrieben. Du kannst den Bereich in der Range-Funktion nach Bedarf anpassen.


Häufige Fehler und Lösungen

  • Fehler: "Anwendungsfehler"

    • Lösung: Stelle sicher, dass der Bereich korrekt ist und tatsächlich Zahlen enthält. Wenn der Bereich leer ist, gibt die Funktion einen Fehler zurück.
  • Fehler: "Typen nicht kompatibel"

    • Lösung: Überprüfe, ob der Bereich nur numerische Werte enthält. Textwerte können zu diesem Fehler führen.
  • Fehler: "Objekt erforderlich"

    • Lösung: Stelle sicher, dass du den richtigen Bezug zur Arbeitsmappe oder zum Arbeitsblatt hast. Gegebenenfalls musst du ThisWorkbook oder ActiveSheet verwenden.

Alternative Methoden

Neben der Verwendung von Application.WorksheetFunction.Max gibt es auch andere Optionen:

  1. Verwendung von Application.Max:

    maxWert = Application.Max(Range("A1:A5"))
  2. Maximalwert aus einem Array ermitteln:

    Dim werte() As Double
    werte = Array(1, 2, 3, 4, 5)
    maxWert = Application.Max(werte)

Diese Methoden sind besonders nützlich, wenn du dynamische Daten verarbeiten oder Arrays verwenden möchtest.


Praktische Beispiele

Beispiel 1: Maximalwert in einem bestimmten Bereich finden

Wenn du den Maximalwert einer größeren Datenreihe ermitteln möchtest:

Sub MaximalwertGrosseDatenreihe()
    Dim maxWert As Double
    maxWert = Application.WorksheetFunction.Max(Range("A:A")) ' Ganze Spalte A
    Range("B1").Value = maxWert
End Sub

Beispiel 2: Maximum von zwei Zahlen

Um den Maximalwert von zwei Zahlen zu ermitteln:

Sub MaxVonZweiZahlen()
    Dim zahl1 As Double
    Dim zahl2 As Double
    zahl1 = 10
    zahl2 = 20
    MsgBox "Der Maximalwert ist: " & Application.WorksheetFunction.Max(zahl1, zahl2)
End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang deines VBA-Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Verwende Debug.Print, um Zwischenergebnisse im Direktfenster zu überprüfen, wenn du an komplexeren Makros arbeitest.
  • Experimentiere mit dem vba max Array, um mehrere Werte auf einmal auszuwerten.

FAQ: Häufige Fragen

1. Ist Application.Max die gleiche Funktion wie WorksheetFunction.Max? Ja, aber Application.Max kann einfacher sein, da du es direkt verwenden kannst, ohne die WorksheetFunction zu referenzieren.

2. Kann ich den Maximalwert auch für nicht zusammenhängende Zellen ermitteln? Ja, du kannst auch nicht zusammenhängende Bereiche verwenden, indem du sie in einer Union-Funktion zusammenfasst, oder indem du mehrere Bereiche in der Max-Funktion kombinierst.

3. Welche Excel-Versionen unterstützen diese VBA-Funktionen? Die beschriebenen Funktionen sind in den meisten modernen Excel-Versionen, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365, verfügbar.

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