Anzeige
Archiv - Navigation
532to536
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
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige