Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1304to1308
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Teilergebnis über Spalten ohne ausgeblendete Sp.

Teilergebnis über Spalten ohne ausgeblendete Sp.
21.03.2013 12:53:56
Jockel
Hallo
ich habe folgendes Problem:
Ich möchte in der Zeile 1 (A1) eine Summe über B1, C1, D1, E1, F1 ... bilden.
Nun wollte ich, wenn zB die Spalten D und E ausgeblendet sind, dass diese in der Summe nicht berücksichtigt werden.
Wenn ich das zB über Zeilen mach, funktioniert das mit der Funktion TEILERGEBNIS mit der 109.
Das gleiche funktioniert aber wohl nicht, wie in meinem Beispiel über Spalten.
Gibt es eine andere Funktion, die das kann und die sich automatisch aktualisiert, wenn man gewisse Spalten wieder einblendet. (also kein VBA)
Danke
Jockel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilergebnis über Spalten ohne ausgeblendete Sp.
21.03.2013 12:59:38
Klaus
Hallo Jockel,
Teilergebniss (sowie Autofilter) funktionieren nicht vertikal.
Wenn VBA überhaupt nicht in Frage kommt, müsstest du entweder
A) Deinen Tabellenaufbau überdenken ... oder
B) alle Zellenausrichtungen um 90° ändern und dann STRG+ALT+PfeilLinks drücken
Ich schließe nicht aus, dass es eine Lösung mit ZELLEN.ZUORNDEN und NAME gibt ...
Aber ich frag nochmal: VBA darfs nicht sein? Das währ dann total einfach.
Grüße,
Klaus M.vdT.

AW: Teilergebnis über Spalten ohne ausgeblendete Sp.
21.03.2013 13:03:08
Jockel
Hi Klaus,
nein, also ist nicht so, dass es GARNICHT in Frage kommt. Wenn das die einzige Möglichkeit ist, dann mache ich es natürlich damit und baue ein aktualisieren ein.
Wenn du eine VBA Lösung hast, gerne .. :-)
Gruß
Jockel

Anzeige
falls VBA ....
21.03.2013 13:08:32
Klaus
... dann doch geht, hier währe die Function:
Function TEILSUMMESPALTE(r As Range)
Dim r2 As Range
For Each r2 In r
If r2.EntireColumn.Hidden = False Then
TEILSUMMESPALTE = TEILSUMMESPALTE + r2.Value
End If
Next r2
End Function

und im Blatt
=TEILSUMMESPALTE(B1:F1)+JETZT()*0
(das JETZT()*0 ist ein Trick, um die Formel volatil zu machen damit sie bei Calculate angefasst wird)
Grüße,
Klaus M.vdT.

Na, da warst du ja um meine Schreibzeit ...
21.03.2013 13:16:53
Luc:-?
…schneller, Klaus.
Jetzt weißt du auch, warum ich gern abkürze, aber das nützt offensichtlich nicht immer was! ;-]
Dein Trick mit dem FmlZusatz klappt übrigens auch nur so wie du es schreibst (mindestens 1 Klick in eine Leerzelle wird meist benötigt), aber das Einfügen von Application.Volatile hilft auch nicht besser.
Gruß Luc :-?

Anzeige
mW Nein! Das könnte ggf eine UDF ...
21.03.2013 13:10:32
Luc:-?
…von mir, Jockel,
die sich im Herber-Archiv finden müsste und einen entsprd reduzierten Bereich erzeugt, der dann summiert wdn könnte. Aber da müsste ich erst mal nachsehen.
Evtl wäre auch etwas mit DBSUMME zu machen, aber da wirst du die Spalten auch fest vorgeben müssen, es sei denn, du findest ein passendes Kriterium. Anderenfalls könnte man evtl etwas über eine Formel erreichen, die sich an den Spaltenköpfen orientiert, aber das müsste ich auch erst genauer sondieren.
Aber viell hat ja XlFmln schon was?!
Gruß Luc :-?

Anzeige
AW: mW Nein! Das könnte ggf eine UDF ...
21.03.2013 13:17:36
Klaus
Hallo Luc,
wenn ich dich als UDF-Papst das hier frage, ist das vielleicht als würde ich einen Klempner-Meister heranzitieren weil das Papier alle ist ... aber ich nutze die Gelegenheit einfach.
Warum funktioniert das
Function TEILSUMMESPALTE(r As Range)
TEILSUMMESPALTE = Application.WorksheetFunction.Sum(r.SpecialCells(xlCellTypeVisible))
End Function

nicht so wie ich es mir vorstelle?
mit r.SpecialCells(xlCellTypeVisible) greife ich doch nur die sichtbaren Zellen aus r, das UDF gibt mir aber immer die Gesamtsumme zurück, egal ob die Zellen ausgeblendet, oder gefiltert, oder Breite / Höhe 0 sind. Als Sub statt als Function
Sub test()
Dim r As Range
Set r = Range("C9:E9")
MsgBox Application.WorksheetFunction.Sum(r.SpecialCells(xlCellTypeVisible))
End Sub

gibt es mir das erwartete Teilergebniss.
Grüße,
Klaus M.vdT.

Anzeige
Soweit ich weiß, man hat das schon ...
21.03.2013 13:29:11
Luc:-?
…mehrfach festgestellt, Klaus,
funktionieren gewisse VBA-Methoden nicht in UDF, die in ZellFmln eingesetzt wdn. Offensichtlich verwenden diese Methoden Operationen, die Funktionen in Zellfmln verboten sind, weshalb die interne XlSteuerung diese dann einfach überspringt. Wir hatten so etwas in ähnlichem Zusammenhang auch mit Anzahlen und andersherum mit Suchen. Die Suche findet Begriffe in ausgeblendeten Zeilen/Spalten nicht, eine Funktion schon.
Gruß Luc :-?

AW: Soweit ich weiß, man hat das schon ...
21.03.2013 13:40:34
Klaus
Hallo Luc,
dass ich in einer UDF zB keine MsgBox oder InputBox verwenden kann/darf, wusste ich schon. Das ist ja auch irgenwie logisch, wenn man da kurz drüber nachdenkt.
Ich nehme aus deinem Beitrag jetzt mit, dass ich gedanklich keinen Fehler gemacht habe und mir einfach merken muss, dass Excel bestimmte Sachen innerhalb der UDF nicht kann - angefangen bei SpecialCells.
Danke sehr!
Grüße,
Klaus M.vdT.

Anzeige
Aber wohl gemerkt, nur bei Einsatz ...
21.03.2013 13:52:42
Luc:-?
…in ZellFmln, Klaus;
aber MsgBox und wohl auch InputBox gehören erstaunlicherweise nicht dazu. Die muss/sollte man in ZellFmln selbst vermeiden, sonst kanns dicke kommen… ;-)
Es lassen sich sogar Zellkommentare (u.a.?) anlegen, aber nicht (füllen und) formatieren (zumindest noch unter xl9).
Gruß Luc :-?

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige