Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SVERWEIS mit Hyperlink

SVERWEIS mit Hyperlink
Franz
Hallo Nachtschwärmer,
ich möchte per Hyperlink die Fundstelle bzw. Zelle eines SVERWEIS(es) anfahren wie z.B.:
'=SVERWEIS(IndexSeq;SEQUENZEN!A:W;12) .
Wie bekommt man die Adresse (entweder mit einer EXCEL-Formel oder per VBA) damit ich wiederum die "Subadress:=) festlegen kann. Aus der Herber-CD habe ich zwar dies gefunden (129400v.xls) :
Sub HyperlinksAnlegen()
Dim iRow As Integer, iStart As Integer, iEnd As Integer
Dim sTarget As String
For iRow = 1 To 9
sTarget = Cells(iRow, 2).FormulaLocal
iStart = InStr(sTarget, ";") + 1
iEnd = InStr(iStart, sTarget, ";")
sTarget = Mid(sTarget, iStart, iEnd - iStart)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(iRow, 2), _
Address:="", SubAddress:=sTarget
Next iRow
End Sub

Kann man es in meinem Sinne auch erweitern? Dann käme ich nämlich auch schon zurecht.
mfg
Franz D.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
OffsetZelladresse per UDF ermitteln
21.10.2009 02:47:18
NoNet
Hallo Franz,
per SVERWEIS (VBA : VLOOKUP) kannst Du das nicht ermitteln, aber mit einer eigenen ~FUNCTION~ (UDF), die sich der Funktion VERGLEICH() (VBA : MATCH) bedient. Hier ein Codebeispiel :
Function MatchLinkAdresse(varSuchbegriff, rngBereich, _
Optional lngZeile = 0, Optional lngSpalte = 0)
'Ermittelt die Adresse eines Suchbegriffes innerhalb eines Bereiches
'und gibt das Offset dieser Zelladresse als Ergebnis zurück
'Beispiel (A1:A12 enthält Monatsnamen "Januar" bis "Dezember") :
'Aufruf als Tabellenblattfunktion :
'=MatchLinkAdresse("April";A1:A12)          gibt "$A$4" zurück
'=MatchLinkAdresse("April";A1:A12;0;3)      gibt "$D$4" zurück
'=MatchLinkAdresse("April";A1:A12;1;3)      gibt "$D$5" zurück
'=MatchLinkAdresse("XY";A1:A12)             gibt "#NV!" zurück
'Aufruf aus VBA heraus analaog (Komma anstatt Semikolon) :
'MsgBox MatchLinkAdresse("April",A1:A12)    'gibt "$A$4" aus
'21.10.2009, NoNet - www.excelei.de (z.Zt. nicht Online !)
Application.Volatile
If Application.CountIf(rngBereich, varSuchbegriff) = 0 Then
MatchLinkAdresse = CVErr(xlErrNA)
Else
MatchLinkAdresse = rngBereich(Application.Match( _
varSuchbegriff, rngBereich, 0)).Offset(lngZeile, lngSpalte).Address
End If
End Function
Die Hyperlinks (hier: in Spalte H) für Dein Beispiel kannst Du dann z.B. mit diesem Code erstellen :
Sub HyperlinksErstellen()
Dim lngZ As Long
For lngZ = 2 To 13 'Zeile 2 bis 13 der Spalte A :
'Erstellt in Spalte 8 (=H) den HYperlink zur Sequenz aus Spalte A :
ActiveSheet.Hyperlinks.Add anchor:=Cells(lngZ, 8), _
Address:="#Sequenzen!" & MatchLinkAdresse(Cells(lngZ, 6), [A2:A13], , 11)
Next
End Sub
Gruß, NoNet
Anzeige
Zelladresse zu SVERWEIS/WVERWEIS
21.10.2009 08:53:08
Erich
Hi NoNet,
deine Fkt. deckt nicht nur SVERWEIS, sondern natürlich auch WVERWEIS ab.
Hier ein Beispiel (in D7:D8 wird alternativ die Adresse per Excelformel ermittelt):
 ABCDE
1JanFebMrzAprMai
2Feb    
3Mrzaaaaa   
4Apr   bbb
5Mai    
6     
7aaaaain$B$3$B$33
8bbbin$E$4$E$45

Formeln der Tabelle
ZelleFormel
A7=SVERWEIS(C1;A1:E5;2;0)
C7=MatchLinkAdresse(C1;A1:A5;;1)
D7=ADRESSE(VERGLEICH(C1;A1:A5;0); 2)
E7=VERGLEICH(C1;A1:A5;0)
A8=WVERWEIS(A5;A1:E5;4;0)
C8=MatchLinkAdresse(A5;A1:E1;3)
D8=ADRESSE(4;VERGLEICH(A5;A1:E1;0))
E8=VERGLEICH(A5;A1:E1;0)

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zelladresse zu SVERWEIS/WVERWEIS
21.10.2009 19:14:51
Franz
Hallo,
Die Frau hat gut gekocht und ich kann mich meinem Hobby weiter widmen dank der SUPER Tipps von NoNet und Erich.
Nochmals DANKE und Tschüss!
Franz D.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige