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

Forumthread: Maximalwert einer Spalte mit VBA?

Maximalwert einer Spalte mit VBA?
22.06.2005 13:30:58
Sylvio
Hallo
ich hab gerade einen denktiefpunkt
und zwar möchte ich column und row der Zelle auslesen wo der Wert am Höchsten in Spalte A ist. Mit VBA aber.
Wer kann helfen Danke Sylvio
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Maximalwert einer Spalte mit VBA?
22.06.2005 13:44:57
mac4
Hi,
folgendes Makro sucht in gesamten Tabellenblatt und gibt die Zeile und Spalte des Max-Wertes wieder.

Sub test()
Set finden = Cells.Find(WorksheetFunction.Max(Cells), LookIn:=xlValues)
MsgBox "Zeile " & finden.Row & vbCrLf & "Spalte " & finden.Column
End Sub

Marc
Anzeige
DANKE MAC4
22.06.2005 13:48:44
Sylvio
Danke Dir wiedermal na klar so gehts,
ich sitz heut den ganzen Tag schon an nem Schleifenwirrwar von mir und hab schon langsam echte Konzentrationsprobleme.
Mal ne andere frage wieso eigentlich mac speziel 4?
[wenn es nicht zu persönlich ist! :-) ]
Gruß Sylvio
AW: DANKE MAC4
22.06.2005 13:51:57
mac4
Kein Geheimnis,
wollte, als ich ins "Forengeschäft" eingestiegen bin, unbedingt das Kürzel Mac (Marc aus Colonia) - das Kürzel war aber so beliebt, das erst ab 4 wieder eine Möglichkeit bestand - bin dann einfach dabei geblieben.
Gut schwitz!
Marc
Anzeige
AW: Maximalwert einer Spalte mit VBA?
22.06.2005 13:45:55
bavariabob
Servus Sylvio,
etwa so?

Sub Topvalue()
a = Cells(Application.WorksheetFunction.Max(Range("A:A"))).Row & " " & _ Cells(Application.WorksheetFunction.Max(Range("A:A"))).Column
MsgBox a
End Sub

Gruss aus München
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Maximalwert einer Spalte mit VBA finden


Schritt-für-Schritt-Anleitung

Um den maximalen Wert in einer Spalte mit VBA auszulesen und die entsprechenden Zeilen- und Spaltennummern zu erhalten, kannst du das folgende Makro verwenden:

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

  2. Wähle im Menü Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub Maximalwert()
       Dim finden As Range
       Set finden = Cells.Find(WorksheetFunction.Max(Range("A:A")), LookIn:=xlValues)
       MsgBox "Zeile " & finden.Row & vbCrLf & "Spalte " & finden.Column
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro Maximalwert auswählst und auf Ausführen klickst.

Jetzt erhältst du eine MessageBox, die dir die Zeile und Spalte des maximalen Wertes in Spalte A anzeigt.


Häufige Fehler und Lösungen

  • Fehler: "Kein Wert gefunden".

    • Lösung: Stelle sicher, dass die Spalte A tatsächlich Werte enthält und dass diese als Zahlen formatiert sind.
  • Fehler: "Objektvariable nicht festgelegt".

    • Lösung: Überprüfe den Code auf Tippfehler, insbesondere die Syntax der Set-Anweisung.

Alternative Methoden

Eine weitere Möglichkeit, den maximalen Wert einer Spalte zu ermitteln, ist die Verwendung der Application.WorksheetFunction:

Sub Topvalue()
    Dim a As String
    a = Cells(Application.WorksheetFunction.Max(Range("A:A"))).Row & " " & _
        Cells(Application.WorksheetFunction.Max(Range("A:A"))).Column
    MsgBox a
End Sub

Dieses Makro gibt dir ebenfalls die Zeile und Spalte des maximalen Wertes in Spalte A zurück.


Praktische Beispiele

Angenommen, du hast folgende Werte in Spalte A:

A1: 10
A2: 25
A3: 15
A4: 30
A5: 5

Wenn du das obige Makro ausführst, wird eine MessageBox mit "Zeile 4" und "Spalte 1" angezeigt, da der maximale Wert 30 in A4 steht.


Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Wenn du den maximalen Wert in einer bestimmten Zeile oder über mehrere Spalten hinweg finden möchtest, passe den Range-Parameter entsprechend an.
  • Dokumentiere deine Makros mit Kommentaren, um die Wartbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich den maximalen Wert in einer anderen Spalte finden? Du kannst den Range in den Makros ändern, z.B. Range("B:B") für die Spalte B.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, die gezeigten VBA-Makros sollten in den meisten modernen Excel-Versionen funktionieren. Achte jedoch darauf, dass du die Makros in einer .xlsm-Datei speicherst, um die VBA-Funktionalität zu nutzen.

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