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 beverly Experte (3.5k Punkte)
Hi Benjamin,
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Range("A1") = Target.TextToDisplay
End Sub

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

Das funtz leider nicht, und ich habe aich das B ans EndSu gesetzt!
Ich habe das versucht auf die Arbeitsmappe anzuwenden oder auf das einzelne Blatt, aber es geht nicht!

Ich meinte auch nicht das etwas in A1 angezeigt werden soll, sonder die aktive Zelle soll nach oben links verschoben werden. Das soll heißen das ich egal welche Zelle ich per Hyperlink anwähle oben links angezeigt wird. (nicht das Daten verschoben werden, sondern die Ansicht.

Hoffe es ist zu verstehen was ich meine?

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

meintest Du das eventuell so:

Option Explicit

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ActiveSheet.Range("A1").Select
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.ScrollColumn = Selection.Column
End Sub


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 beverly Experte (3.5k Punkte)
Hi Benjamin,

also bei mir funktioniert mein Code problemlos - andernfalls hätte ich ihn nicht gepostet. In A1 wird der Inhalt der Zelle eingetragen, deren Hyperlink ausgeführt wurde - so habe ich es aus deinem Beitrag interpretiert.
Das B am Ende von Sub fehlt, weil die Forensoftware manchmal das letzte Zeichen abschneidet obwohl es eingegeben wurde.

Was willst du mit dem ganzen eigentlich erreichen? Man müsste ja im Prinzip die Zelle mit dem Hyperlink ausschneiden und nach A1 verschieben - was soll dann mit der ursprünglichen Zelle passieren? Soll sie leer bleiben oder sollen die anderen nachgerückt werden? Wenn einer Eintrag nach A1 verschoben wird - was passiert dann mit dem in A1 vorhandenen? Soll er wieder an seine ursprüngliche Position oder soll er unten angefügt werden?

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

es scheint schwierig!
Es soll nichts in A1 verschoben werden!

Es geht mir darum das wenn ich im Tab.Blatt "Listendruckfunktion" meiner oben geposteten Datei auf einen Namen klicke (der mit einem Hyperlink hinterlegt ist) ich dann in das Tab.Blatt "Liste Komplett..." springe. Der jeweilige Hyperlink (z.B. 'Liste komplett (32 Spediteure)'!BI3) zeigt mir dann die Zelle BI3 im besagten Tab.Blatt an. So weit so gut! doch nun aktiviert er mir nurdie Zelle und ich hätte gerne das sie nicht irgendwo im ausschnitt des mir gezeigten Tab.Blattes steht sondern das Tab.Blatt von der Ansicht so verschoben wird dasa die aktive Zelle als erstes(oben links) steht.
Es soll nichts in A1 kopiert werden, habe es im Beitrag nur für die Position angegeben.

Oliver deine Variante bekomme ich auch nicht zu laufen, oder ich habe sie falsch platziert. Jedoch sieht es so aus das auch dort die aktive Zelle in A1 kopiert wird, oder!?

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

welche Excelversion verwendest du? In 2002 wird die Zelle, auf die der Link geht, automatisch in die linke obere Ecke des Bildschirms geschoben.

Bis später,
Karin
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Sorry sorry sorry hab ich vergessen zu erwähnen leider nur '97
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Benjamin,

ich habe gerade kein Excel97 da und kann es deshalb nicht testen, aber versuche es mal mit dem folgenden Code im Codemodul des Tabellenblattes:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim strAdresse As String
strAdresse = Application.Substitute(Target.SubAddress, "'Liste komplett (32 Spediteure)'!", "")
Application.Goto reference:=Worksheets("Liste komplett (32 Spediteure)").Range(strAdresse), Scroll:=True
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von coros Experte (4k Punkte)
HAllo Benjamin,

meine Lösung kopiert nichts. Es aktiviert Dir die Zelle A1 in dem Blatt, dass durch den Hyperlink aufgerufen wird und scrollt den Bildschirm so, dass Zelle A1 sichtbar wird. So hatte ich Deine Aufgabe jedenfalls verstanden. Nachdem ich nun Deine Erklärungen in AW5 gelesen habe, weiß ich nicht mehr, ob Du solch eine Lösung gesucht hast, da ich bei AW5 nicht so ganz durchsteige.

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,
leider funktioniert das auch nicht!

Ich verstehe das nicht, eure Lösungen sehen echt gut aus und ich meine sie im groben auch zu verstehen, jedoch schnalle ich nicht warum dieses Excel ´97 das nicht umsetzt.

Ich habe den Code von Karin im VBA Editor in das Blatt Liste Komplett... reinkopiert, aber nichts rührt sich!
Das selbe mit dem Code von Oliver, ebenfalls keine Regung. Dabei soll er doch bloß die aktive Zelle nach oben links scrollen...

ich verstehe es nicht. :-(


Nun noch 2 Bilder zum (hoffentlich) besseren Verständnis

Bild1
Bild2

Hoffe das ich es damit besser beschreiben konnte.

MfG Benjamin
...