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

Forumthread: Formel über mehrere Tabellenblätter hinweg

Formel über mehrere Tabellenblätter hinweg
20.12.2004 12:16:23
Tom
Hallo ihrs,
hab folgendes Problem und brauch Eure Hilfe:
ich bastle mir in einer Makroschleife aus Arbeitsblatt "DATA" ein großes Range zusammen, mit dem dann in einem anderen Datenblatt eine Formel erzeugt und eingefügt wird. Dabei treten nun zwei ungewollte Sachen auf:
oSheet.Cells(i + k, 2 + l).Formula = "=SUM(" & r5.Address(External:=True) & ")"

1. nur für den ersten Eintrag wird der Fremdbezug erzeugt:

=SUMME(DATA!$Q$34:$Q$43;$Q$76:$Q$78;$Q$82;$Q$116:$Q$117;$Q$119;$Q$142;
$Q$152;$Q$191:$Q$192;$Q$196;$Q$199;$Q$206;$Q$209;$Q$219;$Q$227;$Q$241;$Q$277;$Q$279:$Q$283;
$Q$301;$Q$309;$Q$315;$Q$319;$Q$344;$Q$346:$Q$350;$Q$353;$Q$357;$Q$364;$Q$369)

2. außerdem wird als Ergebnis #NAME? angezeigt, was egtl. nicht sein dürfte, da die Bezugszellen ja leer sind und eine Berechnung trotzdem erfolgen müsste
Wisst ihr vielleicht wo der Haken hängt?
Besten Dank im Vorraus
Gruß Tom
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel über mehrere Tabellenblätter hinweg
Ramses
Hallo
davon abhängig welche Sprachversion du verwendest muss es heissen
Englisch
oSheet.Cells(i + k, 2 + l).FormulaLocal = "=SUM(" & r5.Address(External:=True) & ")"
Deutsch
oSheet.Cells(i + k, 2 + l).FormulaLocal = "=SUMME(" & r5.Address(External:=True) & ")"
Ob deine Formel und der Zusammenbau so stimmt weiss ich natürlich nicht :-)
2.
So funktioniert der Eintrag
Range("B1").FormulaLocal = "=SUMME(DATA!$Q$34:$Q$43;$Q$76:$Q$78;$Q$82;$Q$116:$Q$117;$Q$119;$Q$142;$Q$152;$Q$191:$Q$192;$Q$196;$Q$199;$Q$206;$Q$209;$Q$219;$Q$227;$Q$241;$Q$277;$Q$279:$Q$283;$Q$301;$Q$309;$Q$315;$Q$319;$Q$344;$Q$346:$Q$350;$Q$353;$Q$357;$Q$364;$Q$369)"
Gruss Rainer
Anzeige
AW: Formel über mehrere Tabellenblätter hinweg
20.12.2004 13:29:58
Tom
Hallo Ramses,
danke für deine Antwort. Was ist denn der Unterschied zwischen .Formula und .FormulaLocal?
Das komische: Jetzt, ohne eine veränderung, tritt Punkt 2 nich mehr auf. Wenn ich anstelle .Formula .FormulaLocal verwende kommt allerdings Fehler 1004. Aber was mir durch dein zutun aufgefallen ist, daß ich im VBA die englische Formel-Notation beachten und verwenden muß.
zum Punkt 1: war ein bissl unverständlich von mir beschrieben, sorry : (, das Problem ist, wenn ich bei .Address den Parameter External auf True setze, werden doch die externen Bezüge eingeschaltet, also "Arbeitsblatt!" zum Range hinzugefügt. Ich will aber daß dieser Tabellenblattbezug zu JEDER Zelle in diesem Range dazugefügt wird, was ich annahm, was dieser Parameter auch bewirkt. Stattdessen schreibt der das DATA! nur vor die erste Zelle... Also die Formel zieht den ersten Wert (Q34) aus dem Datenblatt, die anderen bleiben 0 :-/
Hast du dazu vielleicht ne idee? oder komme ich mal wieder nicht drumherum den Address-String Zeichen für Zeichen zu durchsuchen und nach jedem Semikolon oder Komma ein DATA! davor einzufügen?
besten dank nochmal : )
tom
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

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