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

VBA Teilergebnis aktive Spalte

Forumthread: VBA Teilergebnis aktive Spalte

VBA Teilergebnis aktive Spalte
13.07.2020 12:17:35
Paul
Hallo,
ich möchte in einer aktiven Zelle (diese ist immer in Zeile 5, aber Spalte variabel) die Formel für ein Teilergebnis (konkret die Summe/Funktion 9) per VBA eintragen.
Das Teilergebnis soll von Zeile 6 bis Zeile 100 ermittelt werden.
Aber die Spalte soll dynamisch/automatisch eingetragen werden, je nachdem in welcher Spalte sich die aktive Zelle befindet.
Beispiel:
Aktive Zelle ist B5. Dort soll durch VBA das Teilergebnis von B6 bis B100 ermittelt werden.
Also müsste die durch VBA eingetragene Fomel =TEILERGEBNIS(9;B6:B100) lauten.
Mein Lösungsansatz:
ActiveCell.FormulaLocal = "=Teilergebnis(9;" & ActiveCell.Column & "6:" & ActiveCell.Column & "100)"
Problem:
Das Formelergebnis lautet =TEILERGEBNIS(9;26:2100)
Der Spaltenbuchstabe, den ich hier brauche, wird als Zahlenwert eingetragen.
Ich habe Beispiele gefunden, wie man den Buchstabenwert einer Spalte per VBA ermitteln kann.
Aber ich weiß nicht, wie ich das mit meiner Formel zusammenbringen kann.
Kann mir da jemand weiterhelfen?
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Teilergebnis aktive Spalte
13.07.2020 12:22:19
onur
Google doch mal "VBA FormulaR1C1"
AW: VBA Teilergebnis aktive Spalte
13.07.2020 12:59:19
Daniel
HI
trage mal die Formeln von Hand in mehrere Zellen ein und setze dabei die Zeilen auf absoluten Zellbezug und die Spalten auf relativen Zellbezug, also für Spalte B:
=TEILERGEBNIS(9;B$6:B$100)
zeichne das Einfügen der Formeln mit dem Recorder auf.
schau dir die aufgezeichneten Formeln genau an und vergleiche sie.
Fällt dir was auf?
Der Recorder verwendet für das Einfügen von Formeln die R1C1-Schreibweise (englisch mit Z1S1-Bezügen), die kannst du natürlich genauso in deinen Makros verwenden.
Gruß Daniel
Anzeige
AW: VBA Teilergebnis aktive Spalte
13.07.2020 13:14:01
Paul
Super, Problem gelöst.
Danke für eure Hilfe!
;
Anzeige
Anzeige

Infobox / Tutorial

Dynamisches Teilergebnis in Excel mit VBA erstellen


Schritt-für-Schritt-Anleitung

Um ein dynamisches Teilergebnis in Excel mithilfe von VBA zu erstellen, befolge diese Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" > Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Sub TeilergebnisAktiveSpalte()
       Dim spalte As String
       spalte = Split(ActiveCell.Address, "$")(1) ' Ermittelt den Buchstabenwert der aktiven Spalte
       ActiveCell.FormulaLocal = "=TEILERGEBNIS(9;" & spalte & "6:" & spalte & "100)"
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Markiere die aktive Zelle (z.B. B5) und führe das Makro aus: ALT + F8, wähle TeilergebnisAktiveSpalte und klicke auf Ausführen.

Jetzt wird in der aktiven Zelle die Formel für das Teilergebnis basierend auf der aktiven Spalte eingetragen.


Häufige Fehler und Lösungen

  • Fehler: Der Spaltenbuchstabe wird als Zahl angezeigt.

    • Lösung: Verwende die Funktion Split wie im obigen Code, um den Buchstabenwert der Spalte zu ermitteln.
  • Fehler: Formel wird nicht korrekt eingetragen.

    • Lösung: Stelle sicher, dass du die aktive Zelle richtig ausgewählt hast, bevor du das Makro ausführst.

Alternative Methoden

Eine alternative Methode zur Ermittlung des Teilergebnisses in Excel ist der Einsatz von Formeln direkt in den Zellen. Du kannst die Formel auch manuell wie folgt eingeben:

=TEILERGEBNIS(9;B$6:B$100)

Diese Methode ist besonders nützlich, wenn du keine VBA-Programmierung durchführen möchtest und die Formeln statisch sind.


Praktische Beispiele

Hier sind einige Beispiele, wie du das Teilergebnis in verschiedenen Spalten verwenden kannst:

  • Für Spalte B:

    =TEILERGEBNIS(9;B$6:B$100)
  • Für Spalte C:

    =TEILERGEBNIS(9;C$6:C$100)

Wenn du diese Formeln in den Zellen B5 oder C5 einfügst, wird das Teilergebnis für die jeweiligen Spalten ermittelt.


Tipps für Profis

  • Wenn du häufig mit dynamischen Formeln arbeitest, gewöhne dir an, die R1C1-Schreibweise zu verwenden. Diese ermöglicht es dir, die Formeln flexibler zu gestalten, besonders bei variierenden Zellbezügen.

  • Nutze den Excel-Recorder, um Makros zu erstellen. Das kann dir helfen, die genaue Syntax zu lernen, wie Formeln in VBA eingetragen werden.


FAQ: Häufige Fragen

1. Wie kann ich den Buchstabenwert der aktiven Spalte ermitteln? Der Buchstabenwert der aktiven Spalte kann mit der Funktion Split in VBA ermittelt werden, wie im Beispielcode gezeigt.

2. Was ist der Unterschied zwischen TEILERGEBNIS und ZWISCHENSUMME? TEILERGEBNIS kann verschiedene Funktionen wie SUMME, MITTELWERT usw. ausführen und ignoriert ausgeblendete Zeilen, während ZWISCHENSUMME eine spezifische Funktion (SUMME oder andere) auf die sichtbaren Zellen anwendet.

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