ich habe ein Tool mit dem ich in Excel Vorlagen erstelle, woraus dann
Scriptgesteuert Ergebnissheets erstellt werden. Nun mᅵchte ich sowas wie
eine ᅵbersichtseite mit Links erstellen und bin dabei ᅵber die Funktion
Hyperlink gestolpert. Nach einigen Fehlversuchen funktioniert das
mittlerweile ziemlich gut. An einer Stelle komme ich aber gerade nicht
weiter.
Folgendes Beispiel: Ich habe eine Excel-Mappe die als Mappe1.xls
gespeichert ist. Es gibt genau ein Blatt mit 3 relevanten Spalten.
Spalte A hat folgende Eintrᅵge
1
2
0
3
In Zelle B1 steht folgende Formel:
=WENN(A1<>0;HYPERLINK("[Mappe1.xls]A!C"&ZEILE(A1);A1);"Kein Link")
Die Zelle B1 kopiere ich nun runter in B2 bis B4. Das Ziel soll sein
dass immer dann ein Link auf die Spalte C (bzw. auf die Zelle der
aktuellen Zeile in Spalte C) angezeigt wird, wenn in A ein Wert ungleich
0 ist. Das funktioniert auch wunderbar fᅵr alle Zeilen die in A
tatsᅵchlich einen Wert ungleich 0 haben. In Zelle B3 wird auch "Kein
Link" angezeigt. Allerdings wird das ganze als Link angezeigt (also
unterstrichen), der auch anklickbar ist. Danach kommt dann eine
Fehlermeldung, dass die Datei nicht gefunden wurde. Ist ja auch kein
Wunder, der Link ist ja auch ungᅵltig.
Irgendjemand eine Idee wie ich das umgehene kann? Im Falle das die Zelle
in A 0 ist, soll tatsᅵchlich in B kein anklickbarer Link erscheinen.
Grᅵᅵe
Michael
> ich habe ein Tool mit dem ich in Excel Vorlagen erstelle, woraus dann
> Scriptgesteuert Ergebnissheets erstellt werden. Nun mᅵchte ich sowas wie
Ups, vergessen: XL2003 falls das noch wichtig ist.
Michael
Statt
=WENN(A1<>0;HYPERLINK( "[Mappe1.xls]A!C"&ZEILE(A1);A1) ;"Kein Link")
nimm
=WENN(A1<>0;HYPERLINK(INDIREKT("[Mappe1.xls]A!C"&ZEILE(A1);A1));"Kein Link")
und nimm lieber die Schreibweise http://xxcl.de als www.xxcl.de
--
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2
ich vergas noch zu sagen, dass das ganze in einem Blatt namens A
passiert, aber das war ja hoffentlich aus [Mappe1.xls]A ersichtlich :-)
> Statt
> =WENN(A1<>0;HYPERLINK( "[Mappe1.xls]A!C"&ZEILE(A1);A1) ;"Kein
> Link")
>
> nimm
> =WENN(A1<>0;HYPERLINK(INDIREKT("[Mappe1.xls]A!C"&ZEILE(A1);A1));"Kein
> Link")
Funktioniert leider nicht. Zum einen wird auch "Kein Link" immer noch
als Link angezeigt. Dort wo ein Link angezeigt werden sollte, steht gar
nichts mehr (ist aber fᅵr Excel anscheinend noch ein Link), beim
draufklicken passiert aber nichts.
Wenn ich die Formel ᅵndere und die Klammer etwas anders setze, werden
zwar die Links wieder angezeigt, die Links funktionieren aber nicht.
Dein Vorschlag:
WENN(A1<>0;HYPERLINK(INDIREKT("[Mappe1.xls]A!C"&ZEILE(A1) ;A1));"Kein Link")
Mein Test:
WENN(A1<>0;HYPERLINK(INDIREKT("[Mappe1.xls]A!C"&ZEILE(A1));A1) ;"Kein Link")
> und nimm lieber die Schreibweise http://xxcl.de als www.xxcl.de
Das verstehe ich jetzt in dem Zusammenhang nicht. Oder meinst du wenn
ich Links auf URLs mache sollte man http://... verwenden?
Grᅵᅵe
Michael
mit der Funktion Hyperlink ist das so eine Sache. Die liefert z.B. keinen Wert
zurᅵck, der von der Funktion weiterverwendet werden kᅵnnte sondern (zumindest
kᅵnnte so die Vorstellung laufen) sie baut die Zelle zu einem Hyperlink um. Das
passiert offenbar auf jeden Fall, auch wenn wegen der WENN-Bedingung das nicht
passieren sollte.
Vielleicht kannst Du Dein Problem so umgehen, dass Du einen Hyperlink erstellst,
dessen Ziel von A1 abhᅵngt und zwar so, dass wenn A1=0 ist der Hyperlink auf
sich selbst verweist. "Wenn()" wᅵrde dann im Hyperlink-Befehl auftreten statt
wie momentan Hyperlink() im Wenn-Befehl:
=Hyperlink("[Mappe1.xls]Tabelle1!" & Wenn(A1=0;"B1";"...."); Wenn(A1=0; "kein
Link", A1))
Gruᅵ
Bernhard Sander
>In Zelle B1 steht folgende Formel:
>=WENN(A1<>0;HYPERLINK("[Mappe1.xls]A!C"&ZEILE(A1);A1);"Kein Link")
>
>Die Zelle B1 kopiere ich nun runter in B2 bis B4. Das Ziel soll sein
>dass immer dann ein Link auf die Spalte C (bzw. auf die Zelle der
>aktuellen Zeile in Spalte C) angezeigt wird, wenn in A ein Wert ungleich
>0 ist. Das funktioniert auch wunderbar f�r alle Zeilen die in A
>tats�chlich einen Wert ungleich 0 haben. In Zelle B3 wird auch "Kein
>Link" angezeigt. Allerdings wird das ganze als Link angezeigt (also
>unterstrichen), der auch anklickbar ist. Danach kommt dann eine
>Fehlermeldung, dass die Datei nicht gefunden wurde. Ist ja auch kein
>Wunder, der Link ist ja auch ung�ltig.
>
>Irgendjemand eine Idee wie ich das umgehene kann? Im Falle das die Zelle
> in A 0 ist, soll tats�chlich in B kein anklickbarer Link erscheinen.
Da hatte ich doch mal genau dieselbe Idee und war zu keinem
brauchbaren Ergebnis gekommen. Leider. Offenbar funktioniert das
nicht. Ev. ist dem mit VB beizukommen, mangels Zeit hatte ich dieses
Vorhaben aber ganz aufgegeben. War eine umfangreiche TLN-Liste mit
Datenerfassung/-berechnungen, dann ein Seriendruck nach Word f�r jeden
einzelnen TLN. Und ich h�tte gerne im Excel-Sheet einen Link zu
ebendiesem Seriendruck-Dokument gehabt. War nix.
Felix
> Vielleicht kannst Du Dein Problem so umgehen, dass Du einen Hyperlink
> erstellst, dessen Ziel von A1 abhᅵngt und zwar so, dass wenn A1=0 ist
> der Hyperlink auf sich selbst verweist. "Wenn()" wᅵrde dann im
> Hyperlink-Befehl auftreten statt wie momentan Hyperlink() im Wenn-Befehl:
>
> =Hyperlink("[Mappe1.xls]Tabelle1!" & Wenn(A1=0;"B1";"...."); Wenn(A1=0;
> "kein Link", A1))
Das kᅵnnte funktionieren, allerdings wᅵre das, wie du ja selbst
schreibst, nur ein Umgehen des Problems. Das Originale Excel-Sheet wo
ich das verwenden will sieht natᅵrlich anders aus. Es gibt ein
ᅵbersichtsblatt und ein Detailblatt. In dem ᅵbersichtsblatt gibt es
Summen, und wenn eine Summe ungleich 0 ist soll zu den entsprechenden
Details auf dem Detailblatt ein Hyperlink erzeugt werden. Wenn nun auch
bei den 0er Summen ein Hyperlink steht, der aber nichts macht, brauche
ich nicht lange darauf zu warten bis der erste anruft um mir zu sagen
dass der Hyperlink kaputt ist. Es gibt keine Details zu der Summe und
dass soll eben auch dadurch deutlich werden dass es erst gar keinen Link
gibt, denn man kann ja nirgendwo hinspringen.
Michael
> Alexander Wolff schrieb:
>
> ich vergas noch zu sagen, dass das ganze in einem Blatt namens A
> passiert, aber das war ja hoffentlich aus [Mappe1.xls]A ersichtlich
> :-)
>> Statt
>> =WENN(A1<>0;HYPERLINK( "[Mappe1.xls]A!C"&ZEILE(A1);A1) ;"Kein
>> Link")
>>
>> nimm
>> =WENN(A1<>0;HYPERLINK(INDIREKT("[Mappe1.xls]A!C"&ZEILE(A1);A1));"Kein
>> Link")
>
> Funktioniert leider nicht. Zum einen wird auch "Kein Link" immer noch
> als Link angezeigt. Dort wo ein Link angezeigt werden sollte, steht
- Formatiere um von "Hyperlink" auf "Standard".
- Der Hyperlink lᅵst auch aus, wenn Standard! (Zumindest bei mir, als ich
umformatiert habe ... es gibt aber manchmal Unterschiede im Verhalten von
Excel, je nachdem ob man mit einer frischen oder einer schon lᅵnger
gebrauchten Datei arbeitet).
- dann: Bedingte Formatierung Zellwert ist grᅵᅵer http:// [Unterstrichen,
Blau]
> gar nichts mehr (ist aber fᅵr Excel anscheinend noch ein Link), beim
> draufklicken passiert aber nichts.
>
> Wenn ich die Formel ᅵndere und die Klammer etwas anders setze, werden
> zwar die Links wieder angezeigt, die Links funktionieren aber nicht.
>> und nimm lieber die Schreibweise http://xxcl.de als www.xxcl.de
>
> Das verstehe ich jetzt in dem Zusammenhang nicht. Oder meinst du wenn
> ich Links auf URLs mache sollte man http://... verwenden?
Soll heiᅵen:
Als Hyperlink (egal, ob als solcher formatiert oder nicht) funktioniert
Adresse als www. http:// eingegeben
in Text: ja ja
in Formel: nein ja
Ich sehe gerade, dass Du gar nicht http:// mᅵchtest, sondern
file:///DeinKompletterPfad (weil Du Dokumente auf Deinem Rechner
ansteuerst). Also halt entsprechend einsetzen!
In dem Zusammenhang mᅵchte ich zurᅵckfragen, warum bei
file:///DeinKompletterPfad der Internet Explorer (getestet wurde der Aufruf
einer Grafik) bemᅵht wird, wenn man sonst Firefox verwendet, und wie man das
unter Windows oder im Browser umstellen kann.
>> Vielleicht kannst Du Dein Problem so umgehen, dass Du einen Hyperlink
>> erstellst, dessen Ziel von A1 abh�ngt und zwar so, dass wenn A1=0 ist
>> der Hyperlink auf sich selbst verweist.
> ...
> Wenn nun auch
>bei den 0er Summen ein Hyperlink steht, der aber nichts macht, brauche
>ich nicht lange darauf zu warten bis der erste anruft um mir zu sagen
>dass der Hyperlink kaputt ist.
Wenn Du den 0er-Summen-Hyperlink durch bedingte Formatierung
"unsichtbar" machst (wei�e Schrift + wei�er Background), merken es die
User vielleicht nicht. Wenn sie drauf klicken, passiert ja nichts.
Nur so 'ne Idee.
Gru�
J�rg
--
LPs auf CD brennen - so geht's: http://www.joergei.de/
E-Mail-Adresse existiert, wird aber nicht gelesen.
> Spalte A hat folgende Eintrᅵge
> 1
> 2
> 0
> 3
>
> In Zelle B1 steht folgende Formel:
> =WENN(A1<>0;HYPERLINK("[Mappe1.xls]A!C"&ZEILE(A1);A1);"Kein Link")
...
> Irgendjemand eine Idee wie ich das umgehene kann? Im Falle das die Zelle
> in A 0 ist, soll tatsᅵchlich in B kein anklickbarer Link erscheinen.
Mir fᅵllt dazu nur eine Lᅵsung mit VBA ein.
Der Code muss in das Codemodul der Tabelle, wie's geht steht hier:
http://www.online-excel.de/excel/singsel_vba.php?f=44#s4
Entferne alle Eintrᅵge aus Spalte B und rufe dann einmal InitLinks
auf, alle weiteren ᅵnderungen werden automatisch aktualisiert.
Andreas.
Sub InitLinks()
'Erstellt alle Links aus Spalte A
Worksheet_Change Intersect(UsedRange, Columns(1))
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Range, LinkTo As Range
'Schnittmenge mit Spalte A ermitteln
Set R = Intersect(Target, Columns(1))
'Was zu tun?
If Not R Is Nothing Then
'Ereignisse aus
Application.EnableEvents = False
'Alle Zellen in Spalte A durchlaufen
For Each R In R
'Wert <> 0
If R <> 0 Then
'Hyperlink zu Tabelle A Zelle C
Cells(R.Row, 2).Hyperlinks.Add _
Cells(R.Row, 2), "", "A!C" & R.Row ', _
"Ein Klick geht zu A!C" & R.Row, _
"Link zu A!C" & R.Row
Else
'Hyperlink lᅵschen
Cells(R.Row, 2).Hyperlinks.Delete
Cells(R.Row, 2) = "Kein Link"
End If
Next
Application.EnableEvents = True
End If
End Sub
>> Wenn nun auch
>> bei den 0er Summen ein Hyperlink steht, der aber nichts macht, brauche
>> ich nicht lange darauf zu warten bis der erste anruft um mir zu sagen
>> dass der Hyperlink kaputt ist.
>
> Wenn Du den 0er-Summen-Hyperlink durch bedingte Formatierung
> "unsichtbar" machst (wei�e Schrift + wei�er Background), merken es die
> User vielleicht nicht. Wenn sie drauf klicken, passiert ja nichts.
Funktioniert bei mir leider nicht. Die 0er Summen sollen durchaus
angezeigt werden. Der Nutzer soll sehen, dass dort keine Betr�ge stehen.
Ansonsten rufen sie n�mlich an um mir zu sagen, dass die
Zischensummenzeile fehlt ;-(
Gr��e
Michael
>> Funktioniert leider nicht. Zum einen wird auch "Kein Link" immer noch
>> als Link angezeigt. Dort wo ein Link angezeigt werden sollte, steht
>
> - Formatiere um von "Hyperlink" auf "Standard".
> - Der Hyperlink lᅵst auch aus, wenn Standard! (Zumindest bei mir, als
> ich umformatiert habe ... es gibt aber manchmal Unterschiede im
> Verhalten von Excel, je nachdem ob man mit einer frischen oder einer
> schon lᅵnger gebrauchten Datei arbeitet).
> - dann: Bedingte Formatierung Zellwert ist grᅵᅵer http://
> [Unterstrichen, Blau]
Damit kᅵnnte ich evtl. leben. Aber wie formatiere ich die Zelle von
"Hyperlink" auf "Standard" um? Ich habe Excel2003SP3. Unter Format/Zelle
finde ich nichts.
Michael
> Ich sehe gerade, dass Du gar nicht http:// mᅵchtest, sondern
> file:///DeinKompletterPfad (weil Du Dokumente auf Deinem Rechner
> ansteuerst). Also halt entsprechend einsetzen!
Ich mᅵchte gar nicht auf ein anderes Dokument verweisen, sondern auf ein
anderes Blatt innerhalb des gleichen Dokumentes. Geht das auch? Die
Datei soll auch nicht noch einmal geᅵffnet werden, sondern es soll nur
auf ein anderes (Detail-)Blatt innerhalb der gleichen Mappe gesprungen
werden.
Michael
>Ich m�chte gar nicht auf ein anderes Dokument verweisen, sondern auf ein
>anderes Blatt innerhalb des gleichen Dokumentes. Geht das auch? Die
>Datei soll auch nicht noch einmal ge�ffnet werden, sondern es soll nur
>auf ein anderes (Detail-)Blatt innerhalb der gleichen Mappe gesprungen
>werden.
>
das geht. Erst eine Raute, dann der Blattname(kann immer in Hochkommas
eingeschlossen werden), dann ein Ausrufezeichen, dann die Zelladresse.
Auf dem gleichem Blatt Raute und Zelladresse.
probiers mal damit
=WENN(A1<>0;HYPERLINK("#A!C"&ZEILE(A1);A1);HYPERLINK("#B"&ZEILE(A1);"Kein
Link"))
kein Link ist dabei ein Hyperlink auf die gleiche Zelle, Excel st�rt
sich gl�cklicherweise nicht daran.
hth
mit freundlichen Gr��en
Martin Worm
--
benutze XL 2000 und Win XP SpX