Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bedingung in einem Link

Bedingung in einem Link
24.11.2003 14:50:28
Wolfi
Hallo bräuchte mal wieder Eure Hilfe:

ich möchte von einem Tabellenblatt mit einem Link in ein anderes Tabellenblatt verzweigen. Das geht ja Siehe Beispieldatei:

Die Datei https://www.herber.de/bbs/user/2132.xls wurde aus Datenschutzgründen gelöscht


Allerdings soll immer zu der Zelle gesprungen werden wo das aktuelle Datum drin steht. Geht das ?

Gruß und Danke

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingung in einem Link
24.11.2003 15:59:41
Alyssia Mc Kay
Hi Wolfi

Das mit dem variablen Hyperlink wird etwas komplizierter,
wohl auch machbar, doch einfacher ist es mit VBA.

Hab dein File angepasst.

Die Datei https://www.herber.de/bbs/user/2134.xls wurde aus Datenschutzgründen gelöscht


Hier noch der Code:


Sub GeheZuHeute()
Worksheets("Tabelle2").Activate
ActiveSheet.UsedRange.Select
For Each Zelle In Selection
If Zelle.Value = Date Then
' MsgBox "Gefunden"
Zeile = Zelle.Row
Spalte = Zelle.Column
Cells(Zeile, Spalte).Select
Exit For
End If
Next
'MsgBox "Heute"
End Sub


Hoffe du kannst was anfangen damit.

regards Alyssia
Anzeige
AW: Bedingung in einem Link
24.11.2003 16:31:02
Wolfi
Hi Alyssia,

Danke. Ich glaub damit kann ich was anfangen.

Gruß Wolfi
AW: Bedingung in einem Link
24.11.2003 17:28:22
Reinhard
Hi Wolfi,
der erste Code muss in "DieseArbeitsmappe"
(Mit Alt+F11 in den Editor wechseln, Doppelklick auf DieseArbeitsmappe).
Mittels des Makros wird bei jeder Öffnung der Arbeitsmappe in Tabelle2 automatisch der Name "DieserTag" erst gelöscht, dann an die Zelle die das aktuelle Datum enthält neu vergeben.
Dadurch kannst du beim HyperlinkEinfügen auf diesen Namen verweisen. Den Hyperlink kannst du manuell eingeben, oder benutze das zweite Makro, es fügt den Hyperlink in die aktuelle Zelle ein.
Gruß
Reinhard


Private Sub Workbook_Open()
On Error Resume Next 'gibt sonst Fehler wenn der Name "DieserTag" nicht existiert
ActiveWorkbook.Names("DieserTag").Delete
For i = 1 To 256
If Worksheets("Tabelle2").Cells(2, i) = Date Then
ActiveWorkbook.Names.Add Name:="DieserTag", RefersToR1C1:="=Tabelle2!R2C" & i
End If
Next i
End Sub


Sub Hyperlinkeinrichten()
ActiveCell.Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:="DieserTag"
Selection.Hyperlinks(1).TextToDisplay = "gehezu"
End Sub

Anzeige
AW: Bedingung in einem Link
24.11.2003 20:29:00
Wolfi
Hallo Reinhard,

hab gerade die Tabellen angepasst, aber irgendwie klappt das nicht, bekomme immer deb Fehle falscher Bezug. (Bin leider noch nicht so vertraut mit VBA)

https://www.herber.de/bbs/user/2137.xls

Gruß Wolfi
AW: Bedingung in einem Link
24.11.2003 22:40:17
Reinhard
Hallo Wolfi,
schau dir https://www.herber.de/bbs/user/2142.xls an, gehe dort auf Tab1 und klicke auf den Button, bei mir kommt da kein Fehler.
Gruß
Reinhard
AW: Bedingung in einem Link
25.11.2003 11:39:03
Wolfi
Hallo Reinhard,

muß leider nochmals stören.

aber das klappt bei mir nur zum Teil. Die von dir erstellte Tabelle geht. Aber wenn ich das auf eine andere Exceltabelle anwenden will, mittels kopieren etc. klappt das nicht.
Ich bekomme beim erstellen des links über das Makro immer folgenden Fehler:Objekt unterstützt die Eigenschaft oder Methode. Es liegt an der Zeile Selection.Hyperlinks(1).TextToDisplay = "gehezu" im Link Macro.
Und beim Ausführen kommt dann Bezug ist ungültig.
Ich weiß leider nicht wie ich das beheben kann.

Gru Wolfi


https://www.herber.de/bbs/user/2149.xls
Anzeige
kein Problem
25.11.2003 19:09:02
Reinhard
Hi Wolfi,
deine Datumsangaben stehen ja jetzt in Zeile 7 also brauchst du nur das nachstehende Makro, das ja schon in DieseArbeitsmappe steht, anzupassen wie nachstehend gezeigt.
Gruß
Reinhard


Private Sub Workbook_Open()
On Error Resume Next 'gibt sonst Fehler wenn der Name "DieserTag" nicht existiert
ActiveWorkbook.Names("DieserTag").Delete
For i = 1 To 256
If Worksheets("GLSD").Cells(7, i) = Date Then
ActiveWorkbook.Names.Add Name:="DieserTag", RefersToR1C1:="=GLSD!R7C" & i
End If
Next i
End Sub

Anzeige
AW: kein Problem
26.11.2003 08:58:56
Wolfi
Hallo,

das versteh ich nicht.

1. klar den Bezug muß ich anpassen, hab ich jetzt auch gemacht.
2. Es kommt aber immer noch der Fehler Bezug ist ungültig.
3. Wenn ich allerdings über Alt+F11 den VBA Code von dieser Arbeitsmappe aufrufe und dann Sub/User Form ausführen betätige und dann wieder den link aktiviere klappt es. Schließ ich dann die Arbeitsmappe wieder und öffne sie erneut: wieder der Fehler.
4. Der Fehler beim erstellen des Links über das Macro ist auch noch da. Es wird zwar der Link erstellt allerdings wird der Name des links immer mit DieserTag statt mit, wie im Macro definiert gehenzu, erstellt. Hat das vielleicht was mit der Excel-Version zu tun?

Gruß Wolfi
Anzeige
AW: kein Problem
26.11.2003 12:49:40
Reinhard
Hallo Wolfi,
anbei noch die letzte Version deiner Datei:

Die Datei https://www.herber.de/bbs/user/2176.xls wurde aus Datenschutzgründen gelöscht

Da funktioniert es problemlos
Wahrscheinlich hast du Recht, es muss an der Version von Excel liegen dass es nicht klappt. Ich habe XL2000, also Xl 9.0 auf Win98.
Unklar ist mir allerdings, warum der folgende Code:


Private Sub Workbook_Open()
On Error Resume Next 'gibt sonst Fehler wenn der Name "DieserTag" nicht existiert
Worksheets("GLSD").Range("DieserTag").Interior.ColorIndex = 36
ActiveWorkbook.Names("DieserTag").Delete
For i = 1 To 256
If Worksheets("GLSD").Cells(7, i) = Date Then
ActiveWorkbook.Names.Add Name:="DieserTag", RefersToR1C1:="=GLSD!R7C" & i
End If
Next i
Worksheets("GLSD").Range("DieserTag").Interior.ColorIndex = 2
End Sub


manuell per F5 (Sub ausführen) ausgelöst, funktioniert, aber nicht beim Öffnen der Arbeitsmappe.
Beim Speichern der Arbeitsmappe klickst du auf 'Aktualisieren'?

Und der andere Code,
Sub Hyperlinkeinrichten()
ActiveCell.Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:="DieserTag"
Selection.Hyperlinks(1).TextToDisplay = "gehezu"
End Sub


klappt bei dir nicht. Du kannst ja mal ein Makro aufzeichnen wenn du den Hyperlinknamen "Gehezu" manuell für den Hyperlink zu "DieserTag" einträgst.

Ich habe irgendwo noch Office97 rumliegen, wenn ich es finde, spiel ich es mal auf, aber ohne Gewähr, da ich nicht genau weiss ob ich die CD noch habe.
Gruß
Reinhard
Anzeige
AW: kein Problem
26.11.2003 13:37:58
Wolfi
Halo Reinhard,

ich glaub ich hab das Problem, daran hab ich noch nicht gedacht:

und zwar starte ich die Excelmappe nicht aus Excel selbst heraus, sonder aus SAP-BW 2.1 (Business Warehouse)und da werden noch weitere VBA Projekte angezeigt.
Ich hab dann die Mappe lokal abgespeichert und siehe da es klappt. (Allerdings auch nicht den link mit dem Macro erstellen, aber das ist ja nicht so tragisch).

Allerdings weiß ich nicht wie ich das jetzt lösen soll.

Gru Wolfi
AW: kein Problem
26.11.2003 14:48:43
Wolfi
Hi,

hab jetzt ne Lösung aber verstehen tu ich's nett.

Statt Private Sub Workbook_Open()hab ich
Private Sub Workbook_SheetActivate(ByVal Sh As Object)genommen dann geht es.

Gruß Wolfi
Anzeige
AW: kein Problem
26.11.2003 17:16:41
Reinhard
Hi Wolfi,
kannst ja mal in beide Subs sowas wie
MsgBox "WB-Open"
bzw. MsgBox "WB-SheetActivate"
einbauen, ich mutmaße dass Workbooks_open nicht ausgeführt wird.
Wenn es ausgeführt wird könnte man ja am ersten Befehl von Workbooks_open mit F9 (im Editor) einen Haltepunkt setzen und dann mittels F8 das Makro weiterverfolgen...
Gruß
Reinhard
AW: kein Problem
01.12.2003 10:25:07
Wolfi
Hallo Reinhard,

komme leider erst jetzt wieder dazu an diesem Projekt weiter zu arbeiten.
Im Prinzip reicht mir das über Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Ich würde jetzt aber noch eine Fehlermeldung ausgeben können, falls es kein Aktuelles Datum gibt. Weiß aber leider nicht wie ich das machen muss.

Gruß Wolfi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige