AW: Hyperlink für Aktive Zelle
22.11.2016 01:52:08
fcs
Hallo Vent,
ich würde hier das Tabellenblatt nicht mit Hyperlinks zupflastern sondern dynamisch nach dem Namen weiter unten in der Liste in Spalte B suchen.
z.B. nach Klick per rechter Maustaste auf den Namen in Spalte B. Nachfolgend ein entsprechendes Ereignis-Makro, das du im VBA-Editor unter dem Tabellenblatt mit der Liste einfügen musst.
PS.: Wie kann man VBA Befehle Üben und gleichzeitig sehen was passiert.
Die normalen Makros kann man im Schrittmodus starten via Menü Ansicht-->Makros (nächster Befehl dann immer mit F8). Bei verkleinertem VBA-Editor-Fenster sieht man dann was ggf. in den Tabellen passiert.
Du kannst im VBA-Editor auch Haltepunkte in Makros setzen, um dann ab der Code-Zeile mit F8 zeilenweise das Makro weiter abzuarbeiten.
Hast du Variablen deklariert, dann kannst du im VBA-Edior via Menü "Ansicht" das Lokal-Fenster einblenden und im Schrittmodus die Werte der Variablen verfolgen. Außerdem kannst du via "Debuggen" Überwachungen hinzufügen, um die Werte von Ausdrücken oder Variablen zu verfolgen und ggf. auch das Makro anhalten.
LG
Franz
'Ereignismakro unter dem Tabellenblatt mit der Liste
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim varName
Dim ZeileL As Long, Zeile As Long
Select Case Target.Column
Case 2 'spalte B
Select Case Target.Row
Case Is >= 3 '3 = 1. Zeile mit einem Namen
varName = Target.Value
If varName "" Then
Cancel = True 'verhindert, dass Rechte-Maus-Menü eingeblendet wird
ZeileL = Cells(Rows.Count, 2).End(xlUp).Row 'letzte Zeile mit Wert in _
Spalte B
Zeile = Target.Row
Do
Zeile = Zeile + 1
If Zeile > ZeileL Then
MsgBox "Keine weiteren Einträge zu dem Namen: " & varName
Exit Do
End If
If Cells(Zeile, Target.Column).Value = varName Then
Cells(Zeile, Target.Column).Select
ActiveWindow.ScrollRow = Zeile - 2
Exit Do
End If
Loop
End If
End Select
End Select
End Sub