Hyperlinks zu Zeichnungen

Hallo,
ich möchte mit folgendem Makro automatisch Links zu vorhandenen Zeichnungen erstellen lassen. Es gibt verschiedene Nummern und jede Nummer hat eine eigene Zeile, es existieren manchmal zu einer Nummer mehrere Zeichnungen (max. 12), deshalb habe ich zwölf Spalten eingefügt, wo dann die Links zu den Zeichnungen erscheinen sollen. Die Zeichnungen liegen alle in einem Ordner. Ich habe in Sheet2 eine Hilfstabelle eingebaut wo alle Zeichnungsnamen mit zugehöriger Nummer beinhaltet (in Spalte A steht die Nummer und in Spalte B der Name der Zeichnung). Dieses Makro vergleicht nun die Nummer mit den Nummern der Hilfstabelle und wenn eine Nummer übereinstimmt nimmt er den Namen und generiert automatisch einen Hyperlink mit diesem Namen. Leider funktioniert das Makro nicht und ich weiß absolut nicht woran es liegen kann…Ich hoffe mir kann jemand weiterhelfen.
Viele Grüße
Chris

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False

Dim ID_complete As String
Dim hyper_adress As String
Dim drw_avail(1500, 2) As String
Dim file_name As String
Dim i As Integer
Dim j As Integer
Dim z As Integer

Sheets(„Sheet2“).Select

For i = 1 To 1500
drw_avail(i, 1) = Cells(i, 1)
drw_avail(i, 2) = Cells(i, 2)
Next i

Sheets(„Sheet1“).Select

For i = 1 To 100
ID_complete = Cells(i + 2, 4)
z = 1
For j = 1 To 100
If ID_complete = Empty Then GoTo sprung
If ID_complete = drw_avail(j, 1) Then GoTo hyper
sprung:
Next j
bubble:
Next i

GoTo Ende

hyper:
hyper_adress = „Q:\E-Bbs\Zvs\335“ & drw_avail(j, 2)
Cells(i + 2, z + 4) = z
Cells(i + 2, z + 4).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=hyper_adress
z = z + 1
If z = 12 Then GoTo bubble
GoTo sprung
Application.ScreenUpdating = True
Ende:
End Sub

Hi Christoph,

leider habe ich es nicht ganz kapiert.
Du sagst jede Nummer hätte eine eigene Zeile und die Liste wäre 2spaltig. Wie kann denn dann eine Nummer mehrere Zeichnungen haben?

Den Code habe ich nicht genauer nachgeprüft, da sind mir zuviele GoTos drin.
Abgesehen von On Error und wenigen zeitkritischen Sonderfällen sollte man keine GoTos benutzen, da GoTos es erschweren den Code zu lesen.

Zeige mal bitte hier auf, wie Blatt1 und blatt2 aussieht/aussehen soll, also die Datenstruktur.
Oder lade eine kleine Beispieldatei hoch, bei z.B. http://www.hostarea.de o.ä.

ich möchte mit folgendem Makro automatisch Links zu
vorhandenen Zeichnungen erstellen lassen. Es gibt verschiedene
Nummern und jede Nummer hat eine eigene Zeile, es existieren
manchmal zu einer Nummer mehrere Zeichnungen (max. 12),
deshalb habe ich zwölf Spalten eingefügt, wo dann die Links zu
den Zeichnungen erscheinen sollen. Die Zeichnungen liegen alle
in einem Ordner. Ich habe in Sheet2 eine Hilfstabelle
eingebaut wo alle Zeichnungsnamen mit zugehöriger Nummer
beinhaltet (in Spalte A steht die Nummer und in Spalte B der
Name der Zeichnung). Dieses Makro vergleicht nun die Nummer
mit den Nummern der Hilfstabelle und wenn eine Nummer
übereinstimmt nimmt er den Namen und generiert automatisch
einen Hyperlink mit diesem Namen. Leider funktioniert das
Makro nicht und ich weiß absolut nicht woran es liegen
kann…Ich hoffe mir kann jemand weiterhelfen.
Viele Grüße
Chris

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False

Dim ID_complete As String
Dim hyper_adress As String
Dim drw_avail(1500, 2) As String
Dim file_name As String
Dim i As Integer
Dim j As Integer
Dim z As Integer

Sheets(„Sheet2“).Select

For i = 1 To 1500
drw_avail(i, 1) = Cells(i, 1)
drw_avail(i, 2) = Cells(i, 2)
Next i

Sheets(„Sheet1“).Select

For i = 1 To 100
ID_complete = Cells(i + 2, 4)
z = 1
For j = 1 To 100
If ID_complete = Empty Then GoTo sprung
If ID_complete = drw_avail(j, 1) Then GoTo hyper
sprung:
Next j
bubble:
Next i

GoTo Ende

hyper:
hyper_adress = „Q:\E-Bbs\Zvs\335“ & drw_avail(j, 2)
Cells(i + 2, z + 4) = z
Cells(i + 2, z + 4).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection,
Address:=hyper_adress
z = z + 1
If z = 12 Then GoTo bubble
GoTo sprung
Application.ScreenUpdating = True
Ende:
End Sub

Hallo Chris,

ich möchte mit folgendem Makro automatisch Links zu
vorhandenen Zeichnungen erstellen lassen. Es gibt verschiedene
Nummern und jede Nummer hat eine eigene Zeile, es existieren
manchmal zu einer Nummer mehrere Zeichnungen (max. 12),
deshalb habe ich zwölf Spalten eingefügt, wo dann die Links zu
den Zeichnungen erscheinen sollen. Die Zeichnungen liegen alle

das ist Tabelle1?
hier gibt es sozusagen eine Tabelle mit 12 Spalten?
in jede Zeile der Tabelle soll je Spalte (also in jeder Zelle ein Link zu der entsprechenden Zeichnung erstellt werden?

in einem Ordner. Ich habe in Sheet2 eine Hilfstabelle
eingebaut wo alle Zeichnungsnamen mit zugehöriger Nummer
beinhaltet (in Spalte A steht die Nummer und in Spalte B der
Name der Zeichnung). Dieses Makro vergleicht nun die Nummer

dann ist das eine Liste aller Zeichnungen?
jede Nummer entspricht genau einer Zeichnung?
also jede Zeichnung hat eine Nummer, die sich von den anderen Nummern unterscheidet?
wenn ich die Nummer habe, finde ich genau eine Zeichnung, nicht 2 oder drei oder 12?

mit den Nummern der Hilfstabelle und wenn eine Nummer
übereinstimmt nimmt er den Namen und generiert automatisch
einen Hyperlink mit diesem Namen. Leider funktioniert das
Makro nicht und ich weiß absolut nicht woran es liegen
kann…Ich hoffe mir kann jemand weiterhelfen.

also in Tabelle1 gibt es eine Nummer am Zeilenkopf, in der gleichen Zeile bis zu 12 Spalten für die zu erzeugenden Links zu den Zeichnungen,
in Tabelle 2 gibt es die gleichen Nummern mit genau einem Eintrag (Zeichnungsname)

Wie soll das gehen?

Du kannst natürlich die Nummer aus Tabelle1 nehmen und in Tabelle2 suchen, dort hast du dann einen dazupassenden Eintrag in Spalte B. Aber wo, in welche Spalte in Tabelle1 willst du den gefundenen Namen zum Link umwandeln? Es kann ja bis zu 12 Spalten geben?

Ich glaube, die Erklärung ist ungenügend oder die gesamte Aufgabenstellung ist noch nicht genügend durchdacht.

Die gesamte Problematik kannst du sicher über Formeln lösen. In der Excel-Hilfe kannst du ja mal unter Sverweis und Hyperlink nachlesen. Erforderlich ist allerdings eine eineindeutige Zuordnung von Nummern zu Zeichnungen (also auch umgekehrt). Das scheint hier nicht der Fall zu sein. Wie ich das verstanden habe, können hier bis zu 12 Zeichnungen die gleiche Nummer haben. Das wird sicher auch mit einem Makro nicht zu lösen sein, es sei denn, du willst einen Zufallsgenerator benutzen.

Gruß
Marion