Live-Forum - Die aktuellen Beiträge
Datum
Titel
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: Anfänger: worksheetfunction.max problem

Anfänger: worksheetfunction.max problem
14.07.2005 09:26:27
pascal_h
Hallo VBA Experten,
Frage: Möchte im Tabellenblatt "Graph" in Zelle C32 die Summe aus dem Bereich C2:C65536 des Tabellenblattes "Data" ausgeben. Habe dazu folgendes geschrieben, was aber nicht funktioniert. Was muss ich ändern?
Sheets("Graph").Select
Range("C32").Select
ActiveCell.Value = WorksheetFunction.Max(Sheets("Data").Range(Cells(2, 3), Cells(65536, 3)))
Ich danke für eure Hilfe!
mfg Pascal
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Anfänger: worksheetfunction.max problem
14.07.2005 09:36:57
Peter
Servus,
wiso nimmst du die Funktion maximalwert, wenn du die Summe willst? Versuchs mal so, Range bitte anpassen.
ActiveSheet.Range("A7").Value = Application.WorksheetFunction.Sum(Range(Cells(1, 1), (Cells(5, 1))))
MfG Peter
AW: Anfänger: worksheetfunction.max problem
14.07.2005 09:43:05
pascal_h
Hallo Peter,
Mein Fehler, sorry. Ich will aber schon das Max. - Wo baue ich bei deinem Script das Tabellenblatt "data" ein? Also das Max soll aus einem anderen Bereich im Tabellenblatt "data" berechnet werden.
Gruss Pascal
Anzeige
AW: Anfänger: worksheetfunction.max problem
14.07.2005 09:52:51
Ingo
Hallo,
Entweder:
Sheets("Graph").[C32] = Application.WorksheetFunction.Max(Range(Sheets("Data").Cells(2, 3), Sheets("Data").Cells(65536, 3)))
oder:
Sheets("Graph").[C32] = Application.WorksheetFunction.Max(Sheets("Data").Range("C2:C65536"))
mfG
Ingo Christiansen
Super!
14.07.2005 10:01:31
pascal_h
Vielen Dank Ingo,
Klappt wunderbar!
mfg Pascal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Maximalwert mit VBA in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um den maximalen Wert aus einem bestimmten Bereich in einem anderen Tabellenblatt mit VBA zu ermitteln, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel mit ALT + F11.

  2. Füge ein neues Modul ein, indem du mit der rechten Maustaste auf "VBAProject (deineDatei.xlsm)" klickst und "Einfügen" > "Modul" wählst.

  3. Schreibe den folgenden Code in das Modul:

    Sub MaximalwertErmitteln()
       Dim maxWert As Double
       maxWert = Application.WorksheetFunction.Max(Sheets("Data").Range("C2:C65536"))
       Sheets("Graph").Range("C32").Value = maxWert
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um den maximalen Wert in Zelle C32 des "Graph"-Blattes zu erhalten.


Häufige Fehler und Lösungen

  • Fehler: "Method 'Range' of object '_Worksheet' failed"

    • Lösung: Stelle sicher, dass das Tabellenblatt "Data" existiert und der angegebene Bereich korrekt ist.
  • Fehler: "Typen unverträglich"

    • Lösung: Überprüfe, ob die Zellen im Bereich C2:C65536 numerische Werte enthalten. Textwerte können diesen Fehler verursachen.
  • Fehler bei der Verwendung von WorksheetFunction.Max

    • Lösung: Korrigiere den Code, indem du sicherstellst, dass du die richtige Syntax verwendest. Nutze Application.WorksheetFunction.Max für eine robustere Lösung.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Excel-Funktion direkt in einer Zelle verwenden:

  1. Gehe zu Zelle C32 im "Graph"-Blatt.
  2. Gib die folgende Formel ein:

    =MAX(Data!C2:C65536)

Diese Methode benötigt keine Programmierkenntnisse und kann für einfache Berechnungen schnell verwendet werden.


Praktische Beispiele

Hier sind einige Beispiele, wie du worksheetfunction.max in verschiedenen Szenarien verwenden kannst:

  1. Maximalwert aus einem anderen Bereich:

    Sheets("Graph").Range("C32").Value = Application.WorksheetFunction.Max(Sheets("Data").Range("C2:C10"))
  2. Maximalwert innerhalb einer Bedingung:

    Dim maxWert As Double
    maxWert = Application.WorksheetFunction.Max(Sheets("Data").Range("C2:C65536").SpecialCells(xlCellTypeVisible))
    Sheets("Graph").Range("C32").Value = maxWert

Tipps für Profis

  • Nutze Application.Max in VBA, wenn du eine einfachere Funktionsauswertung benötigst. Dies ist besonders nützlich, wenn du nur mit Zahlen zu tun hast.

  • Bei großen Datenmengen kann die Verwendung von worksheetfunction.max vba range die Leistung deiner Skripte verbessern.

  • Vermeide es, .Select im Code zu verwenden, um die Ausführungsgeschwindigkeit zu erhöhen und den Code sauberer zu halten.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen WorksheetFunction.Max und Application.Max? WorksheetFunction.Max ist spezifisch für die Excel-Funktion, während Application.Max eine VBA-Funktion ist, die ähnlich funktioniert, aber manchmal schneller sein kann.

2. Kann ich diese Methode auch mit anderen Funktionen verwenden? Ja, du kannst ähnliche Ansätze mit anderen Funktionen wie Sum, Average usw. in VBA verwenden, indem du Application.WorksheetFunction.<Funktion> verwendest.

3. Funktioniert dieser Code in allen Excel-Versionen? Ja, dieser Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass du die richtige Syntax verwendest.

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