1.1k Aufrufe
Gefragt in Tabellenkalkulation von
Dear all,

ich hoffe Ihr könnt mir helfen. Ich habe bei meiner Arbeitsstelle oft mit langen Listen zu tun, die von einer Software auf unserem Server erstellt wird. Diese Ergebnisse muss ich in Excel ausgeben lassen. Jetzt wurde ich gefragt, ob ich nicht die einzelnen Felder mit Informationen auf dem Server verlinken kann. In Handarbeit würde ich da ewig dran sitzen, deswegen wollte ich euch fragen, ob Ihr mir bei der Lösung meines Problems helfen könnt? Ich kenne mich leider nur sehr oberflächlich mit Makros aus und bin deshalb total aufgeschmissen.

Vielen Dank für eure Hilfe,
Christian

Ausgangslage:
In einer Excel-Datei stehen in der Spalte A in einigen Zeilen der Wert „KPMV-„ mit einer fortlaufenden Nummer (z.B. KPMV-1, KPMV-2, ..., KPMV-24, KPMV-25, etc.). In mehreren Zeilen stehen allerdings andere Werte. (z.B. KPMV-1, KPMV-2, KPMV-3, XYZ-1, XYZ-2, KPMV-4, KPMV-5 etc.) Die Position der Zeilen mit den anderen Werten variiert von Excel zu Excel-Datei.

FRAGE:
Kann ein Makro erstellt werden, welches automatisch nur die Zellen in einer Spalte verlinkt, in denen der Wert „KPMV-„ steht. Der Link sollte dynamisch generiert werden, da es relativ viele, zu verlinkende Einträge gibt. Das Format des Links steht dem prinzipiell nicht im Weg, da dieser nach einem festen Muster generiert wird. Zur dynamischen Erstellung der Links werden zwei Werte benötigt. Ein Wert muss manuell eingetragen werden, der andere Wert kann der zu verlinkenden Zelle entnommen werden.
Das Format des Links sieht wie folgt aus:

http://servertsc:8081/DisplayCycle.jspa?cycleId=302&versionId=-1&issueKey=KPMV-58

FETT KURSIV: In der Excel-Datei vorhandenes Kürzel.
FETT: Weitere benötigte Information wird über „cycleId=xxx“ festgelegt (steht aber leider nicht in der Excel-Datei). Gibt es die Möglichkeit, dass ich bei der Ausführung des Makros gefragt werde, die „cycleId“ manuell einzugeben? z.B. indem ein Fenster aufpoppt und nach der Nummer fragt.

2 Antworten

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

versuche es mal so:

Sub LinksEintragen()
Dim lngZeile As Long
Dim varAbfrage As Variant
varAbfrage = Application.InputBox("Bitte nur Zahlen eingeben", "cycleId-Abfrage", , , , , , 1)
If varAbfrage <> "Falsch" And varAbfrage <> False And varAbfrage <> "" Then
For lngZeile = 1 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
If InStr(Cells(lngZeile, 1), "KPMV") > 0 Then
Cells(lngZeile, 1).Hyperlinks.Add anchor:=Cells(lngZeile, 1), _
Address:="http://servertsc:8081/DisplayCycle.jspa?cycleId=" & varAbfrage & _
"&versionId=-1&issueKey=" & Cells(lngZeile, 1).Value
End If
Next lngZeile
End If
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin,

vielen, vielen Dank für deine Hilfe! Das Makro funktioniert perfekt und erfüllt seinen Dienst voll und ganz.

Beste Grüße
Christian
...