Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
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
Hyperlink
Markus
Hallo zusammen,
folgendes Problem
Ich habe eine Arbeitsmappe
In dem ersten Tabellenblatt habe ich ab der Zelle A2 - A3 - A4 usw namen stehen.
Genauso wie die namen heissen auch die einzelnen Tabellenblätter in der Mappe
Wie kann ich nun via VBA aus den Namen ab A2 hyperlinks zu den entsprechenden Blättern erstellen.
Hinweis: es kommen im laufe der zeit immer neue Tabellenblätter hinzu.
Danke schoneinmal im vorraus.
Gruß Markus

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

Betreff
Benutzer
Anzeige
AW: Hyperlink
10.06.2011 21:28:48
Josef

Hallo Markus,
das geht auch ohne VBA.

by {Boris}
Definiere einen Namen (Strg+F3), Name: Alle
Bezieht sich auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
Jetzt schreibe in deinem Übersichtsblatt in irgendeine Zelle diese Formel und kopier sie so weit runter, wie das Blatt irgendwann mal Blätter haben könnte:
=WENN(ZEILEN($1:1)>ANZAHL2(Alle);"";HYPERLINK("#'"&INDEX(Alle;ZEILEN($1:1))&"'!A1"; TEIL(INDEX(Alle;ZEILEN($1:1));FINDEN("]";INDEX(Alle;ZEILEN($1:1)))+1;31)))
Somit hast du alle Blätter verlinkt. Gelöschte / hinzugefügte Blätter werden automatisch erkannt.


« Gruß Sepp »

Anzeige
AW: Hyperlink
11.06.2011 11:16:14
Markus
Hallo,
danke Sepp das Funktioniert auch im Prinzip, aber für mich leider nicht,
da über diese Formel alle Tabellenblätter verlinkt werden. Ich habe aber einen VBA Code der aus den Einzelnen Blättern daten in das erste schreibt und da funtioniert das so leider nicht.
Deshalb wollte ich das via vba individuell gestallten
Gruß MArkus
AW: Hyperlink
11.06.2011 13:23:52
Josef

Hallo Markus,
dann so.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************
Option Explicit
Sub addLink()
  Dim rng As Range
  With Sheets(1)
    For Each rng In Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
      If rng <> "" Then
        If rng.Hyperlinks.Count > 0 Then rng.Hyperlinks.Delete
        If SheetExist(rng.Text) Then
          .Hyperlinks.Add anchor:=rng, Address:="", SubAddress:="'" & rng.Text & "'!A1"
        Else
          rng.Font.Strikethrough = True
        End If
      End If
    Next
  End With
End Sub

Private Function SheetExist(ByVal sheetName As String, Optional Wb As Workbook) As Boolean
  Dim wks As Worksheet
  On Error GoTo ERRORHANDLER
  If Wb Is Nothing Then Set Wb = ThisWorkbook
  For Each wks In Wb.Worksheets
    If LCase(wks.Name) = LCase(sheetName) Then SheetExist = True: Exit Function
  Next
  ERRORHANDLER:
  SheetExist = False
End Function



« Gruß Sepp »

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige