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
Sub test()
Set finden = Cells.Find(WorksheetFunction.Max(Cells), LookIn:=xlValues)
MsgBox "Zeile " & finden.Row & vbCrLf & "Spalte " & finden.Column
End Sub
Sub Topvalue()
a = Cells(Application.WorksheetFunction.Max(Range("A:A"))).Row & " " & _ Cells(Application.WorksheetFunction.Max(Range("A:A"))).Column
MsgBox a
End Sub
Um den maximalen Wert in einer Spalte mit VBA auszulesen und die entsprechenden Zeilen- und Spaltennummern zu erhalten, kannst du das folgende Makro verwenden:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Wähle im Menü Einfügen
> Modul
, um ein neues Modul zu erstellen.
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
Schließe den VBA-Editor und gehe zurück zu Excel.
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.
Fehler: "Kein Wert gefunden".
Fehler: "Objektvariable nicht festgelegt".
Set
-Anweisung.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.
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.
Option Explicit
am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.Range
-Parameter entsprechend an.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen