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

per VBA Zellen im aktuellen Dokument zu verlinken

Forumthread: per VBA Zellen im aktuellen Dokument zu verlinken

per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 13:02:43
Vat
Hallo zusammen,
ich suche nach einer Möglichkeit per VBA Zellen im aktuellen Dokument zu verlinken.
Ich habe eine Liste mit 40 Einträgen (fester Bereich A1:A40)
Eintrag1
Eintrag2
Eintrag3
Usw….
Nun möchte ich in einer anderen Spalte, alle 40 Einträge auf jede 16te Zelle verlinken.
z.B.: SpalteB, Start Zelle ist B17
Eintrag1 = B17
Eintrag2 = B33
Eintrag3 = B49
Usw….
Kann mir bitte jemand einen Ansatz geben. Über die Suche habe ich leider nichts gefunden.
V.G. Vat

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 13:21:03
selli
hallo vat,
Sub test()
z = 1
For i = 17 To 641 Step 16
Cells(i, 2) = Cells(z, 1)
z = z + 1
Next i
End Sub

gruß
selli

AW: per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 13:36:46
Vat
Hallo selli,
danke für deine hilfe.
Leider kann ich die zellbereiche nicht anpassen. Das hatte ich mir einfacher vorgestellt...
Meine Bereiche waren nur Beispiele.
Die Liste, mit den 40 Einträgen liegt in AR4:AR43
Dort sollen auch die verlinkungen drauf.
Die Zellen, welche verlinkt werden sollen, sind in Spalte B.
Los geht es in B17 usw.
Immer wenn ich das ganze anpasse wird nur text in die Zellen kopiert.
Kannst du es mir bitte erklären.
V.G. Vat

Anzeige
AW: per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 13:45:40
selli
hallo
Ich habe eine Liste mit 40 Einträgen (fester Bereich A1:A40)
davon bin ich ausgegangen.
es passiert also folgendes: der inhalt von A1 wird nach B17 kopiert, der inhalt von A2 wird nach B33 kopiert usw.
wenn du eine wirkliche verlinkung haben möchtest, dann so angepasst an den bereich (AR4:AR43):
Sub test()
z = 4
For i = 17 To 641 Step 16
'Cells(i, 2) = Cells(z, 44)
Cells(i, 2).FormulaLocal = "=AR" & z
z = z + 1
Next i
End Sub
gruß
selli

Anzeige
AW: per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 14:02:00
Vat
Hallo selli,
jetzt werden die Listen-Werte in die vorgesehenen Zellen „kopiert“.
Die Bereiche werden quasi schon richtig angesprochen.
Aber ich möchte die Listen-Werte auf diese Zellen „verlinken“ (Hyperlink im aktuellen Dokument)
Wenn ich also den ersten Listenwert anklicke, möchte ich in die erste Zelle B17 springen. Wenn ich den zweiten Listenwert anklicke, möchte ich in die erste Zelle B33 springen usw.
Die Listen-Werte sollen dann eigenzlich in einen Hyperlink umgewandelt sein.
V.G. Vat

Anzeige
AW: per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 14:27:04
selli
hallo vat,
Sub test()
z = 4
For i = 17 To 641 Step 16
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(z, 44), Address:="", _
SubAddress:="'" & ActiveSheet.Name & "'!B" & i, TextToDisplay:=ActiveSheet.Cells(z, 44).Text
z = z + 1
Next i
End Sub

gruß
selli

Anzeige
AW: per VBA Zellen im aktuellen Dokument zu verlinken
18.12.2012 14:49:04
Vat
Hallo selli,
Wahnsinn! :)
Das klappt perfekt. Jetzt kann ich das in den 30 sheets ausführen und muss nicht händisch verlinken.
Vielen Dank & V. G.
Vat
Anzeige
Anzeige

Infobox / Tutorial

Zellen im aktuellen Dokument per VBA verlinken


Schritt-für-Schritt-Anleitung

Um Zellen im aktuellen Dokument per VBA zu verlinken, kannst du die folgenden Schritte befolgen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Erstelle ein neues Modul: Klicke auf Einfügen > Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub test()
       z = 4
       For i = 17 To 641 Step 16
           ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(z, 44), Address:="", _
           SubAddress:="'" & ActiveSheet.Name & "'!B" & i, TextToDisplay:=ActiveSheet.Cells(z, 44).Text
           z = z + 1
       Next i
    End Sub
  4. Passe die Werte in der For-Schleife an, falls dein Datenbereich anders ist.

  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus: Drücke ALT + F8, wähle test und klicke auf Ausführen.

Jetzt sollten die Zellen in Spalte B mit Hyperlinks zu den Einträgen in deinem festgelegten Bereich verlinkt sein.


Häufige Fehler und Lösungen

  • Fehler: "Text wird kopiert, keine Verlinkung"
    Lösung: Stelle sicher, dass du ActiveSheet.Hyperlinks.Add verwendest, um Hyperlinks zu erstellen, anstatt nur den Zellinhalt zu kopieren.

  • Fehler: Hyperlink funktioniert nicht
    Lösung: Überprüfe die SubAddress. Sie sollte korrekt auf die Zielzelle verweisen, z.B. "'!B" & i.

  • Fehler: Makro läuft nicht
    Lösung: Stelle sicher, dass Makros in den Excel-Optionen aktiviert sind.


Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Funktion HYPERLINK direkt in Excel nutzen:

  1. Gib in Zelle B17 ein:
    =HYPERLINK("#B1", "Eintrag 1")
  2. Ziehen die Formel nach unten für jede Zelle, die du verlinken möchtest, und passe den Zellbezug entsprechend an.

Diese Methode eignet sich gut für kleinere Datensätze, erfordert jedoch mehr manuelle Arbeit.


Praktische Beispiele

Angenommen, du hast die folgenden Einträge in AR4:AR43:

  • Eintrag 1
  • Eintrag 2
  • Eintrag 3
  • ...

Die oben beschriebenen Schritte im VBA-Code erstellen Hyperlinks in Spalte B, sodass:

  • Klick auf Eintrag 1 führt zu B17
  • Klick auf Eintrag 2 führt zu B33
  • Klick auf Eintrag 3 führt zu B49

Tipps für Profis

  • Schleifen optimieren: Wenn du mit großen Datenmengen arbeitest, könntest du die Schleife weiter optimieren, um die Leistung zu verbessern.
  • Fehlerbehandlung hinzufügen: Implementiere On Error Resume Next, um potenzielle Fehler beim Erstellen von Hyperlinks abzufangen.
  • Dynamische Zellreferenzen: Überlege, die Startzelle und den Schrittwert als Parameter in eine Funktion umzuwandeln, um die Flexibilität zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich den VBA-Code anpassen, um andere Bereiche zu verlinken?
Ja, du kannst AR4:AR43 und die Startzelle in B17 nach Belieben anpassen, indem du die entsprechenden Werte im Code änderst.

2. Funktioniert das auch in Excel Online?
Der VBA-Code funktioniert nur in Desktop-Versionen von Excel. Excel Online unterstützt keine VBA-Makros.

3. Was, wenn ich mehrere Arbeitsblätter habe?
Du kannst den Code für jedes Arbeitsblatt ausführen oder eine Schleife implementieren, die alle gewünschten Blätter durchläuft und die Hyperlinks erstellt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige