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

Nur bestimmten Bereich (dynamisch) berechnen

Forumthread: Nur bestimmten Bereich (dynamisch) berechnen

Nur bestimmten Bereich (dynamisch) berechnen
10.04.2018 15:37:49
Christian
Hallo Zusammen,
ich habe ein gut gefülltes Tabellenblatt, dass ich aus Leistungsgründen immer nur bis zur letzten mit Ergebniswerten gefüllten Spalte berechnen lassen möchte.
In der Zelle T1 habe ich bereits die Spalte, z.B. "BF", ermitteln lassen.
Wie bekomme ich denn die Dynamik in den Calculate-Befehle eingesetzt?
Range("A1" & ":" & Range("T1").Value & "10000").Calculate lässt Excel immer wieder abstürzen.
Habt Ihr gutgemeinten Rat?
Vielen Dank vorab und viele Grüße
Christian
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Nur bestimmten Bereich (dynamisch) berechnen
10.04.2018 15:45:43
Rudi
Hallo,
man kann nicht nur einen Bereich berechnen lassen.
Komplettes Blatt oder Workbook.
Gruß
Rudi
AW: Nur bestimmten Bereich (dynamisch) berechnen
10.04.2018 15:47:13
Christian
Wenn ich einen festen Bereich, z.B. Range("A1:A1000).Calculate verwende, funktioniert das isoliert aber?!
an der Zeile liegt's nicht
10.04.2018 15:51:22
Rudi
Hallo,
muss an was anderem liegen.
Gruß
Rudi
Anzeige
Quatsch! Zurück-Geruder owT
10.04.2018 15:48:42
Rudi
AW: Nur bestimmten Bereich (dynamisch) berechnen
11.04.2018 07:31:56
Christian
Hab isch geguckt, sage ich großen Dank! :)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Dynamische Berechnung von Bereichen in Excel


Schritt-für-Schritt-Anleitung

Um einen bestimmten Bereich in Excel dynamisch zu berechnen, kannst du die folgende Methode verwenden. Dies funktioniert am besten in Excel VBA:

  1. Ermittle die letzte Spalte mit Daten:

    • Du kannst die letzte Spalte ermitteln, in der Daten vorhanden sind, indem du die Zelle T1 als Referenz verwendest. In T1 könnte beispielsweise "BF" stehen.
  2. Verwende den Calculate Befehl korrekt:

    Dim lastColumn As String
    lastColumn = Range("T1").Value
    Range("A1:" & lastColumn & "10000").Calculate
    • Achte darauf, dass der Bereich korrekt angegeben ist, um Excel-Abstürze zu vermeiden.
  3. Führe das Makro aus:

    • Nachdem du den Code eingegeben hast, führe das Makro aus, um die Berechnung für den angegebenen Bereich durchzuführen.

Häufige Fehler und Lösungen

  • Excel stürzt ab: Wenn du den Befehl Range("A1:" & Range("T1").Value & "10000").Calculate verwendest und Excel stürzt ab, könnte das an einem zu großen Bereich liegen. Stelle sicher, dass der Bereich nicht unnötig groß ist.

  • Berechnung funktioniert nicht: Wenn du feststellst, dass die Berechnung für einen festen Bereich, wie Range("A1:A1000").Calculate, funktioniert, aber nicht für dynamische Bereiche, überprüfe, ob die Werte in T1 korrekt sind.


Alternative Methoden

Wenn die oben genannten Methoden nicht funktionieren, kannst du alternative Ansätze ausprobieren:

  • Verwende die Evaluate Funktion:

    Dim result As Variant
    result = Application.Evaluate("SUM(A1:" & lastColumn & "10000)")
    • Mit Evaluate kannst du Berechnungen dynamisch durchführen, ohne den Calculate Befehl zu verwenden.
  • Datenüberprüfung: Stelle sicher, dass die Daten in den Zellen korrekt formatiert sind, um Fehler zu vermeiden.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du dynamische Berechnungen in Excel umsetzen kannst:

  1. Summe eines dynamischen Bereichs:

    Dim total As Double
    total = Application.WorksheetFunction.Sum(Range("A1:" & Range("T1").Value & "10000"))
    MsgBox "Die Summe ist: " & total
  2. Durchschnitt eines dynamischen Bereichs:

    Dim average As Double
    average = Application.WorksheetFunction.Average(Range("A1:" & Range("T1").Value & "10000"))
    MsgBox "Der Durchschnitt ist: " & average

Tipps für Profis

  • Verwende Named Ranges: Du kannst benannte Bereiche verwenden, um die Lesbarkeit und Wartbarkeit deines Codes zu verbessern.

  • Optimierung der Berechnung: Wenn du mit sehr großen Datenmengen arbeitest, kann es hilfreich sein, die Berechnung auf manuell zu setzen, bevor du das Makro ausführst.

    Application.Calculation = xlManual
    ' Dein Code hier
    Application.Calculation = xlAutomatic

FAQ: Häufige Fragen

1. Kann ich nur einen Teil des Arbeitsblattes berechnen? Ja, wenn du einen spezifischen Bereich angibst, kannst du die Berechnung auf diesen Teil beschränken.

2. Warum funktioniert der Calculate Befehl manchmal nicht? Wenn der angegebene Bereich zu groß ist oder nicht korrekt definiert ist, kann es zu Problemen kommen. Überprüfe die Werte in den Zellen und die Größe des Bereichs.

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