Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur bestimmte Zeilen berechnen

Forumthread: Nur bestimmte Zeilen berechnen

Nur bestimmte Zeilen berechnen
06.12.2002 14:56:26
Kirsten
Hi,

habe gleich noch was. Ich habe folgendes Makro in meinem Tabellenblatt. Eigentlich wollte ich erreichen, dass bei Änderungen immer die Aktive Zeile neu berechnet wird (klappt auch gut), aber auch die Zeilen 1-13. Hab es mit dem auskommentierten Range-Befehl versucht, der funktioniert aber nur, wenn ich im Tabellenblatt selbst mit der F9-Taste die Berechnung starte.


Kann mir vielleicht jemand sagen, wo es hakt?


Gruss
Kirsten

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Nur bestimmte Zeilen berechnen
06.12.2002 16:28:23
M. Kuhn
Moin Kirsten,

so geht es (xlCalculationManual):

With ActiveSheet
.EnableAutoFilter = True 'lässt den Autofilter trotz Blattschutz zu
.Protect userinterfaceonly:=True, Password:="passwort"
.Application.Goto ActiveCell
.Application.Calculation = xlCalculationManual
.Range(Cells(1, 1), Cells(13, 34)).Calculate
End With
Range("B18:F18").AutoFilter
End Sub

MfG Mario

Anzeige
Re: Nur bestimmte Zeilen berechnen
06.12.2002 16:38:30
Kirsten
Hi Mario,

danke für den Hinweis. Klappt aber leider nicht wirklich. Hatte ja noch den Befehl

.Rows(Target.Row).Calculate

mit eingebaut. Genau den meckert er jetzt nämlich an.
Kann man nicht beides erreichen? Also, dass die aktuelle Zeile neu berechnet wird und anschließend der Range-Bereich?


Gruss
Kirsten


Anzeige
Re: Nur bestimmte Zeilen berechnen
06.12.2002 16:54:28
M. Kuhn
Moin Kirsten,

sorry, ich hatte das für einen auskommentierten Fehlversuch zur ff. Zeile gehalten ...

Schreib: Rows(ActiveCell.Row).Calculate

MfG Mario

Re: Nur bestimmte Zeilen berechnen
06.12.2002 17:03:03
Kirsten
Hi Mario,

habe ich gleich versucht, aber er will immer noch nicht die Zeilen 1-13 berechnen, wenn ich z.B. in D20 einen neuen Wert eingebe. Immer nur mit F9!?!

Oder ist der Befehl falsch plaziert? Gehört die Range-Anweisung vielleicht in mein Worksheet_Change-Makro?

Gruss
Kirsten

Anzeige
Re: Nur bestimmte Zeilen berechnen
06.12.2002 17:10:56
M. Kuhn
Moin Kirsten,

wenn diese Befehle bei Änderungen in der Mappe ausgeführt werden sollen, dann ja [... SelectionChange(ByVal ...)].
Vergiss auch nicht, irgendwo und irgendwann den Modus xlCalculationAutomatic wieder einzuschalten, sonst ist F9 die meist benutzte Taste ...

MfG Mario

Re: Nur bestimmte Zeilen berechnen
06.12.2002 17:19:15
Kirsten
Hi Mario,

jetzt klappt's. Habe es in SelectionChange eingebaut.

Lieben Dank noch mal.


Gruss
Kirsten

Anzeige
;
Anzeige

Infobox / Tutorial

Bestimmte Zeilen in Excel automatisch berechnen


Schritt-für-Schritt-Anleitung

Um bestimmte Zeilen in Excel automatisch zu berechnen, kannst Du ein Makro verwenden, das bei Änderungen in bestimmten Zellen ausgeführt wird. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11.
  2. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       ' Berechnung der aktiven Zeile und der Zeilen 1-13
       Application.Calculation = xlCalculationManual
       Rows(Target.Row).Calculate
       Range(Cells(1, 1), Cells(13, 34)).Calculate
       Application.Calculation = xlCalculationAutomatic
    End Sub
  4. Schließe den VBA-Editor:

    • Klicke auf Datei > Schließen und zurück zu Microsoft Excel.
  5. Teste das Makro:

    • Ändere einen Wert in einer Zelle (z.B. D20) und überprüfe, ob die Zeilen 1-13 und die aktuelle Zeile neu berechnet werden.

Häufige Fehler und Lösungen

  • Fehler: Berechnung erfolgt nur durch F9
    Lösung: Stelle sicher, dass der Code im Worksheet_Change-Ereignis korrekt platziert ist. Der Code muss in dem spezifischen Arbeitsblattmodul eingefügt werden, nicht in einem allgemeinen Modul.

  • Fehler: xlCalculationManual bleibt aktiv
    Lösung: Vergiss nicht, am Ende des Codes Application.Calculation = xlCalculationAutomatic zu setzen, damit die automatische Berechnung wieder aktiviert wird.


Alternative Methoden

Falls Du die Berechnung ohne VBA durchführen möchtest, kannst Du auch Formeln verwenden:

  • Verwende die Funktion SUMME oder andere Excel-Funktionen, um die gewünschten Zeilen zu berechnen. Dies ist jedoch weniger dynamisch, da Du die Formeln manuell anpassen musst.

  • Tabelle als Datenquelle: Wenn Du eine Tabelle verwendest, kannst Du auf die Daten in den ersten 13 Zeilen direkt zugreifen und diese durch Filter oder Pivot-Tabellen analysieren.


Praktische Beispiele

  1. Berechnung der Summe der ersten 13 Zeilen:

    =SUMME(A1:A13)
  2. Berechnung der aktiven Zeile: Wenn Du in der Zelle B20 einen Wert änderst, wird die Summe von A1 bis A13 automatisch aktualisiert, wenn das Makro korrekt implementiert ist.


Tipps für Profis

  • Nutze Fehlerbehandlung im VBA: Implementiere On Error Resume Next, um sicherzustellen, dass Dein Makro auch bei Fehlern nicht abbricht.

  • Verwende Application.ScreenUpdating = False, um flackernde Bildschirmaktualisierungen während der Berechnung zu vermeiden.

  • Dokumentiere Deinen Code: Füge Kommentare hinzu, um die Funktionsweise Deines Makros für andere nachvollziehbar zu machen.


FAQ: Häufige Fragen

1. Wie kann ich das Makro nur auf bestimmte Zellen anwenden?
Du kannst die Bedingung im Worksheet_Change-Ereignis anpassen, um nur auf bestimmte Zellen zu reagieren, z.B. If Not Intersect(Target, Range("D20")) Is Nothing Then.

2. Was mache ich, wenn das Makro nicht funktioniert?
Überprüfe die Platzierung des Codes und stelle sicher, dass Du VBA aktiviert hast. Teste auch andere Zellen, um sicherzustellen, dass das Target-Objekt korrekt erkannt wird.

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