4.8k Aufrufe
Gefragt in Tabellenkalkulation von benjaminm Mitglied (631 Punkte)
Hallo @ all,

Ich hab eine Datei in der ich Spediteuradressen verwalte.
Nun habe ich mir ein Blatt angelegt wo alle SpediteurNamen untereinander stehen und mit einem Hyperlink versehen sind.
Beim Klick wechselt Excel in ein anderes Blatt und zeigt mir die komplette Adresse an. Soweit so gut.

Nun möchte ich aber das die Aktive Zelle (festgelegt durch Hyperlink) an der Position A1 angezeigt wird, also erste Zelle oben links.

Desweileren solle diese funktion aber nur greifen wenn ich den Hyperlink benutze!
Wenn ich in dem Blatt die Adressen überarbeiten will soll diese Funktion nicht gehen, damit nicht immer die aktive Zelle an die erste Position springt.
Ist da möglich?

Hier mal eine Bsp.Datei

14 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Benjamin,

mein Code funktioniert auch bei Excel97.
Karins Code funktioniert in Excel97 nicht, da Excel97 den Befehl "Application.Substitute" nicht kennt. Ansonsten müsste der Codeauf Deine Datei noch angepasst werden, da darin ein Tabellenblattname vorkommt, den Du anpassen musst.

Mal eine andere Frage, was steht denn bei Dir, wenn Du auf den Hyperlink mit der rechten Maustaste klickst und dann "Hyperlink bearbeiten" auswählst in der Zeile "Name einer Stelle in der Datei"?

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Oliver,

Da steht z.B. 'Liste komplett'!A42 habe das Tab.Blatt schon umbenannt,
von 'Liste komplett (32 Spediteure)'!A42
auf 'Liste komplett'!A42
Die Hyperlinks funtzen auch!
Oder darf ich für die Codes keine Leerzeichen in den Tab.Blatt Namen haben?

Das lässt sich ja schnell ändern!

Deinen Code muss ich doch eigentlich nur im VBA Editor unter 'Liste komplett' einfügen, oder?
Das muss nicht in ein Modul (warum auch!)?


MfG Benjamin
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Benjamin,

dass mein Code bei dir nicht funktioniert liegt nicht - wie coros fälschlicherweise meint - daran, dass Excel97 kein Application.Substitute kennt (in diesem Fall hätte sich außerdem der Debugger gemeldet), sondern dass es dort die Deklaration Worksheet_FollowHyperlink noch nicht gibt. Deshalb kann man in Excel97 nur das Worksheet_SelectionChange Ereignis auswerten. Das macht zwar vom Prinzip her den Hyperlink in der Zelle überflüssig, er stört aber auch nicht. Deinem Bild nach zu urteilen soll nicht (wie in deiner hochgeladenen Datei) die verlinkte Zelle sondern eine Zelle 2 Zeilen oberhalb aktiviert werden (andernfalls Offset(-2, 0) weglassen)
[code]Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Dim strAdresse As String
    If Target.Hyperlinks.Count > 0 Then
        strAdresse = Application.Substitute(Target.Hyperlinks(1).SubAddress, "'Liste komplett (32 Spediteure)'!", "")
        Application.Goto reference:=Worksheets("Liste komplett (32 Spediteure)").Range(strAdresse).Offset(-2, 0), Scroll:=True
    End If
End Sub[/code]

Bis später,
Karin
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Karin,

Jetzt haut's hin!

Hatte anfangs schon gegrübelt über die Deklaration Worksheet_FollowHyperlink aber dafür bin ich noch zu unerfahren was die VBA Geschichten anfgeht.

Jetzt läuft es und den Rest kann ich mir anpassen!

Achja, habe heute erfahren das wir hier nächsten Monat auf 2007 mit dem Office Paket gehen. ich glaub dann wird vieles einfacher!
Naja mal schauen.

Ich bedanke mich mal wieder bei allen beteiligten!
Danke, danke, danke!

MfG Benjamin
...