Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
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
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.

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.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige