Hallo,
Ebenfalls Hallo!
ich habe in Excel eine Tabelle mit vielen Spalten. Mit Hilfe
von VisualBasic möchte ich aus der ersten Spalte (D) den
Max-Werte auslesen und diesen in die Zelle A1 schreiben. Dann
den Max-Wert aus Spalte (E) und diesen in A2 schreiben usw.
Verstehe zwar nicht, warum gerade VBA, wo doch die Max-Formel von Excel nichts anderes tut. Aber wenns so sein soll, dann halt VBA.
Für den Fall, dass eine Formel in einem Tabellenblatt verwendet werden soll oder kann nutze die folgend genannte VBA-Funktion:
Public Function Maxwert(Spalte As String)
Application.Volatile True
Maxwert = Application.WorksheetFunction.Max(Range(Spalte & ":" & Spalte))
End Function
Dann einfach in Zelle A1 die Formel ‚=Maxwert(„D“)‘, in A2 ‚=Maxwert(„E“)‘ u.s.w. nutzen.
Sollen keine Formeln im Blatt verwendet werden, knüpfe die Berechnung an das „Worksheet_Change“-Ereignis des entsprechenden Tabellenblattes:
Private Sub Worksheet\_Change(ByVal Target As Range)
Application.EnableEvents = False
Range("A1").Value = Application.WorksheetFunction.Max(Range("D:smiley:"))
Range("A2").Value = Application.WorksheetFunction.Max(Range("E:E"))
Application.EnableEvents = True
End Sub
Hoffe es funktioniert so wie gewünscht.
Viele Grüße und viel Spaß beim Testen, tester!