Summenfunktion soll Hyperlink folgen

Hallöli
Folgendes Problem:

Wie bekomme ich Excel dazu, meinem Hyperlink zu folgen und mir die Summe einer Zelle mitzuteilen? Excel nimmt bei der Summenfunktion nur die Zelle wahr, aber nicht den Hyperlink, der drin steckt. Ich möchte aber die Summe einer Zelle, die auf dem Arbeitsblatt ist, zu dem der Hyperlink führt.

Schon jetzt mal vielen Dank an Euch

Das mit dem Hyperlink wird nix. Muss ja aber auch nicht, denn dafür gibt es ja die normale interne Notation:

[Dokument]Tabelle!Adresse

Und das baut sich automatisch zusammen, wenn Du in eine Zelle klickst, das „=“-Zeichen reintippst und dann auf die Quellzelle klickst. Befindet sich letztere auf dem gleichen Blatt, kommt nur die Adresse zum Zuge, befindet sie sich in einer anderen Tabelle der gleichen Mappe, kommt der Tabellenname mit dazu. Naja, und wenn es sogar eine andere Datei ist, dann ist es eben wie oben angegeben.

Zu beachten ist dabei, dass der komplette absolute Pfad dort erscheint, sowie die Quelldatei nicht mehr geöffnet ist. Verschiebt man letztere also später woanders hin, funktioniert die Formel nicht mehr.

Darüber hinaus muss man wissen, dass Excel jedesmal beim Öffnen der Datei versuchen wird, auch die verlinkte Datei mit zu öffnen. Das kann also zu Lasten der Gesamtperformance gehen bei sehr großen verlinkten Dokumenten.

Kristian

Muss ja aber auch nicht, denn
dafür gibt es ja die normale interne Notation:

[Dokument]Tabelle!Adresse

Gerade das will ich vermeiden. Es handelt sich um eine Grundtabelle, hinter der ca. 250 Tabellenblätter hängen. Aus jedem Tabellenblatt benötige ich ca. 12-15 Zahlen. Die erste Spalte greift auf das erste Tabellenblatt zu, die 2. Spalte auf die gleichen Zellen des 2. Tabellenblattes. Die Tabellenblätter haben alle eigene Namen. Wenn ich es nach Deiner Methode mache, kann ich in Rente gehen, wenn ich fertig bin.

Wenn ich es nach Deiner Methode mache, kann ich in Rente gehen, wenn ich fertig bin.

Na ist doch super. Musst das nur mit Deinem Chef kurz absprechen :wink:

Naja, wie ich sehe, bist Du nun doch bei der Methode mit Einzeldateien geblieben. Allerdings frage ich mich jetzt, was an der von mir angegebenen Nomenklatur lange dauert.

Solltest Du die 250 Zugriffe meinen, die beim Öffnen der Datei entstehen - tja, Pech gehabt, denn WIE man zugreift (also über Hyperlink oder Excel-Link), dürfte ziemlich egal sein.

Solltest Du das Erstellen der Linkformeln meinen, so, wie ich es zuvor beschrieben hatte (per Klick in die entsprechenden Dateien), dann gebe ich Dir recht, aber das kann man ja automatisieren, wenn die Dateien vernünftig heißen, und das macht man ja nur einmal am Anfang und dann nie wieder, oder?

Allerdings frge ich mich auch hier, wo der Unterschied zu den Hyperlinks ist - die müssen ja auch irgendwie getippt werden.

Kristian

Wie bekomme ich Excel dazu, meinem Hyperlink zu folgen und mir
die Summe einer Zelle mitzuteilen? Excel nimmt bei der
Summenfunktion nur die Zelle wahr, aber nicht den Hyperlink,
der drin steckt. Ich möchte aber die Summe einer Zelle, die
auf dem Arbeitsblatt ist, zu dem der Hyperlink führt.

Hi Conny,

die Funktion: =SUMME(Tabelle2:Tabelle250!A1) ist dir bekannt, weil du in dem anderen Beutrag was von Übersichtbslatt und 250 anderen Blättern sprachst.

Andrerseits, „Summe einer Zelle“ verwirrt mich, kannst du mir mal näher erläutern um was genau es eigentlich geht?

Gruß
Reinhard

Naja, wie ich sehe, bist Du nun doch bei der Methode mit
Einzeldateien geblieben.

Nee nee, eine Datei mit 250 Tabellenblättern.

Allerdings frge ich mich auch hier, wo der Unterschied zu den
Hyperlinks ist - die müssen ja auch irgendwie getippt werden.

Pro Tabellenblatt ist das aber nur ein Hyperlink, also 250. Wenn ich mir die Daten, wie von Dir beschrieben, hole, muss ich pro Tabellenblatt 14 Zugriffe von Hand eingeben. 250 x 14 = 3.500 Zugriffe von Hand eingeben. Nee danke. Das will ich über den Hyperlink automatisieren.

Wenn ich Excel z.B. in Zelle A5 sagen kann: folge dem Hyperlink in Zelle A3 und importiere die Summe aus Zelle F38, dann kann ich diesen Befehl in alle anderen Spalten ganz einfach kopieren.

Falls diese Aufgabe wieder in den Bereich VBA Programmierung geht, muss ich wohl noch warten. Meine Chefin hat mir einen Kurs für Makro Programmierung genehmigt. :smile:)))) Ich dachte nur, dass ich dieses Problemchen hier auch anders lösen kann.

Conny

Andrerseits, „Summe einer Zelle“ verwirrt mich, kannst du mir
mal näher erläutern um was genau es eigentlich geht?

Sorry, da habe ich mich wohl etwas missverständlich ausgedrückt. Also:

In dem Übersichtsblatt Zelle A5 soll Excel dem Hyperlink in Zelle A3 folgen und mir die Zahl aus Zelle K36 dieses Arbeitsblattes (zu dem der Hyperlink führt) eintragen.

Ich hoffe, so ist das verständlicher.

Gruß und Dank
Conny

Beispiel verfügbar?

Nee nee, eine Datei mit 250 Tabellenblättern.

Achso. Na immerhin was :wink:

Pro Tabellenblatt ist das aber nur ein Hyperlink, also 250.
Wenn ich mir die Daten, wie von Dir beschrieben, hole, muss
ich pro Tabellenblatt 14 Zugriffe von Hand eingeben. 250 x 14
= 3.500 Zugriffe von Hand eingeben. Nee danke. Das will ich
über den Hyperlink automatisieren.

Ich gebe zu: DAS habe ich nicht verstanden. Sprich: Ich weiß im Moment nicht, was Du mit diesem ominösen Hyperlink anstellst bzw. anstellen willst :wink:

Wenn ich Excel z.B. in Zelle A5 sagen kann: folge dem
Hyperlink in Zelle A3 und importiere die Summe aus Zelle F38,
dann kann ich diesen Befehl in alle anderen Spalten ganz
einfach kopieren.

Hm. Das hat mir ehrlich gesagt auch nicht auf die Sprünge geholfen.

Falls diese Aufgabe wieder in den Bereich VBA Programmierung
geht, muss ich wohl noch warten. Meine Chefin hat mir einen
Kurs für Makro Programmierung genehmigt. :smile:)))) Ich dachte
nur, dass ich dieses Problemchen hier auch anders lösen kann.

Sehr gute Entscheidung von Deiner Chefin. Und auch von Dir :smile: Aber die Sache lässt sich bestimmt auch vorher noch in den Griff kriegen.

Am besten wäre es, wenn Du mal ein Beispiel schicken könntest. Es müssen ja nicht alle 250 Blätter drin sein, sondern nur drei oder vier, und wenn da vertrauliche Daten odero drinstehen, kannst Du die ja löschen bzw. mittels Suchen und Ersetzen so lange einzelne Buchstaben und die Leerzeichen durch "x"e ersetzen, bis man die Texte nicht mehr lesen kann (dies aber nur auf entsprechend markierte Zellen anwenden, nicht auf´s ganze Blatt, sonst zerschießt Du Dir die Formeln damit!

Die Zieladresse wäre aber nicht die oben angegebene, sondern meine provate. Die ist auch bei web.de und bildet sich genau wie Deine, nur mit Punkt statt des Bindestrichs. Oder Du hast ´ne Web-Adresse, auf die Du´s hochladen kannst.

Kristian

Absolute/relative Bezüge nutzen?

In dem Übersichtsblatt Zelle A5 soll Excel dem Hyperlink in
Zelle A3 folgen und mir die Zahl aus Zelle K36 dieses
Arbeitsblattes (zu dem der Hyperlink führt) eintragen.

s wird wohl einen bestimmten Grund geben, warum in Zelle A5 nicht einfach direkt „=TabelleXY!K36“ steht, oder? Wozu dieser komische Hyperlink in A3???

Könnte es sein, dass Dir die Dollarzeichen in Bezügen unbekannt sind, aber weiterhelfen könnten? Gib mal in der Excel-Hilfe „relative bezüge“ ein und wählen aus den Ergenissen die Seite „Informationen zu Zell- und Bereichsbezügen“ (Excel 2003). Dort ist der Unterschied in einem der Unterthemen geklärt.

Kristian

Könnte es sein, dass Dir die Dollarzeichen in Bezügen
unbekannt sind, aber weiterhelfen könnten? Gib mal in der
Excel-Hilfe „relative bezüge“ ein und wählen aus den
Ergenissen die Seite „Informationen zu Zell- und
Bereichsbezügen“ (Excel 2003). Dort ist der Unterschied in
einem der Unterthemen geklärt.

Ups, wieder was gelernt. Aber selbst wenn ich mit absoluten Bezügen arbeite, muss ich immer noch die Tabellennamen in dem Bezug ändern. Da ich sowieso die Hyperlinks drin habe, denke ich nur, dass ich mir auch das sparen kann.

Am besten wäre es, wenn Du mal ein Beispiel schicken könntest.

Hab ich. Angekommen?
Danke Dir

Achso. Wie gesagt: Makro.
Aha. Jetzt habe ich geschnallt, was Du meinst bzw. es hat sich bestätigt, dass ich offenbar in die richtige Richtung geschaut hatte.

Due Formeln sind also erstmal nicht das Problem, die in den Zellen 9 bis 23 stehen. Das Problem ist nur, dass Du nicht für alle Blätter die Namen der Tabelle ändern willst. Klar. Aber kein gößeres Problem, das via Makro zu automatisieren, wie gesagt.

Ich schau mir das mal an und mache ein Beispiel draus. Das sollte hoffentlich klappen - nicht, dass ich mich hier zu weit aus dem Fenster lehne jetzt :wink:

Kristian

Hab ich. Angekommen?

Jupp, hab´s gerade aus dem Spamfilter gefischt :wink:

Due Formeln sind also erstmal nicht das Problem, die in den
Zellen 9 bis 23 stehen. Das Problem ist nur, dass Du nicht für
alle Blätter die Namen der Tabelle ändern willst. Klar.

GENAU!!!

Aber kein gößeres Problem, das via Makro zu automatisieren, wie
gesagt.

Also komme ich doch nicht an Makros vorbei. Na ja, ich hoffe ja, dass ich damit nach dem Kurs keine Probleme mehr habe. :wink:

Aber die Idee mit den Hyperlinks war doch o.k., oder? Ich denke, so bleibt die ganze Geschichte übersichtlicher.

Ich schau mir das mal an und mache ein Beispiel draus. Das
sollte hoffentlich klappen - nicht, dass ich mich hier zu weit
aus dem Fenster lehne jetzt :wink:

Kannst Du mir das per email schicken? Wie gesagt, NOCH habe ich keine Ahnung von Makros. Hatte gedacht, dass mir der Onlinekurs von Microsoft weiterhilft, aber das Thema ist wohl zu komplex.

Ich danke Dir schonmal ganz herzlich
Conny

Hallöchen, werde dir eine E-mail schicken die dein problem lösen wird.
MfG Frank

Lösung
Ich habe festgestellt, dass sich die Sache auch ohne Makro lösen lässt. Vorteil ist eine etwas größere Flexibilität, die aber gar nicht benötigt wird in diesem Falle. Nachteil ist, dass sie nicht ganz so transparent ist und langsamer (auch wennn nicht messbar).

Ich verwende nämlich die INDIREKT()-Funktion und bastel aus dem Tabellennamen in der jeweiligen Spalte und den vorgegebenen Koordinaten einen neuen Bezug zusammen, den ich dieser Funktion übergebe. Beispiel folgt per Mail.

Und hier nun noch die Makrolösung. Dabei entstehen also wieder feste Formeln, die auf die jeweiligen Blätter zeigen. Insofern transparenter und schneller. Nachteil hier ist, dass man die Dollarzeichen benötigt, um das Kopieren von Spalte zu Spalte zu ermöglichen (sonst würden sich die Beüge auch immer im eine Spalte verschieben. Ich habe im per Mail verschickten Beispiel sowohl Spalten als auch Zeilen festgehalten (also zwei $-Zeichen), obwohl nur das für die Spalte nötig wäre hier.

Basis für die Makro-Variante ist eine Dummy-Spalte, die man erstmal in alle gewünschten Spalten kopiert. Die Formeln darin verweisen auf ein Dummy-Blatt (das auch existiert, damit man auch Dummy-Werte sieht und Excel nicht immer nach dem „fehlenden“ Dokument fragt). Dieser Blattname wird dann vom Makro ausgetauscht.

Hier der Code (im Beispiel gesendeten natürlich enthalten):

'Zum Verwenden bitte den Bereich markieren, in dem die zu ändernden Formeln stehen.
'In diesem Falle ist es z.B. B6:smiley:23.
'Dann dieses Makro ausführen.

'Bei der o.g. Auswahl geht das Makro also deren drei Spalten durch.
'Die Variable "Spalte" zeigt also nacheinander auf B6:B23, C6:C23 und D6:smiley:23.
'Die Eigenschaft "Column" gibt jeweils die auf das Blatt bezogenen Spalten-Nummer
'zurück, hier also nacheinander 2, 3, und 4 für B, C und D.
'Mit "Cells(y, x) greift man statt auf den Namen einer Zelle auf dessen
'Koordinaten zurück. Range("B5") wäre also gleichbedeutend mit Cells(2, 5).

Sub ErsetzeTabellenNamen()
Dim Spalte As Range 'eine Spalte des ausgewählten rechteckigen Bereichs
Dim yANr As Integer 'Nummer der Zeile, in denen die Auftragsnummern stehen
Dim TabName As String
Const DummyName As String = "DUMMY" 'muss ein Name ohne Leer- oder Sonderzeichen und ohne Ziffern sein!

 yANr = 5 'Die K-Nrn stehen bei Dir in Zeile 5.
 For Each Spalte In Selection.Columns 'Gehe alle Spalten in der Auswahl durch
 TabName = Cells(yANr, Spalte.Column).Value 'Der Tabellenname wird aus der Zelle in der zuvor festgelegten Zeile und der aktuellen Spalte ausgelesen:
 Spalte.Replace DummyName, "'" & TabName & "'" 'Ersetze alle Dummy-Namen durch den gefundenen - das wirkt auch auf Formeln. Der neue Name wird dabei in '' gesetzt. Sollte das nicht nötig sein, fallen sie später automatisch wieder weg.
 Next Spalte
End Sub 'ErsetzeTabellenNamen

Kristian

Grüezi Conny

Wie bekomme ich Excel dazu, meinem Hyperlink zu folgen und mir
die Summe einer Zelle mitzuteilen? Excel nimmt bei der
Summenfunktion nur die Zelle wahr, aber nicht den Hyperlink,
der drin steckt. Ich möchte aber die Summe einer Zelle, die
auf dem Arbeitsblatt ist, zu dem der Hyperlink führt.

Auf direktem Wege via den Hyperlink ist das nicht möglich - ein Hyperlink ist ein Navigations-Instrument und kein Zellbezug.

Wie genau hast Du die Hyperlinks denn erstellt?
Mit der Funktion HYPERLINK()?

Das würde heissen, dass Du eine Liste mit den Namen der Tabellenblätter in deinem ersten Blatt hast.

Verwende daher die Funktion INDIREKT() in der Du als Zellbezug einen String zusammenbauen kannst, der sich seine Informationen aus der Liste der Tabellenblattnamen holt.

Ggegebenenfalls kannst Du diese Auflistung auch mit einer benannten Formel selbst erzeugen. Das kommt dann einem Inhaltsberzeichnis der Mappe gleich wie Du sie hier als Beispiel findest:

Tabellenblatt: C:\[Inhalt\_mit\_Hyperlink.xls]!Tabelle1

 │ A │ B │ C │
──┼───────────────┼───────────┼───────────────┤
1 │ Tabellen-Name │ Hyperlink │ Wert aus A1 │
──┼───────────────┼───────────┼───────────────┤
2 │ Tabelle1 │ Tabelle1 │ Tabellen-Name │
──┼───────────────┼───────────┼───────────────┤
3 │ Tabelle2 │ Tabelle2 │ 2 │
──┼───────────────┼───────────┼───────────────┤
4 │ Tabelle3 │ Tabelle3 │ 3 │
──┼───────────────┼───────────┼───────────────┤
5 │ Tabelle4 │ Tabelle4 │ 4 │
──┴───────────────┴───────────┴───────────────┘
Benutzte Formeln:
A2: =WENN(ZEILEN($1:1)\>ANZAHL2(x);"";TEIL(INDEX(x;ZEILEN($1:1));FINDEN("]";INDEX(x;ZEILEN($1:1)))+1;31))
B2: =WENN(A2="";"";HYPERLINK("#'"&A2&"'!A1";A2))
C2: =INDIREKT("'"&A2&"'!A1")


Festgelegte Namen:
x: =ARBEITSMAPPE.ZUORDNEN(1+0\*JETZT())

A1:C5
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -