Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen auslesen

Forumthread: Zellen auslesen

Zellen auslesen
16.02.2009 19:53:00
Peter
Hallo zusammen,
ich möchte aus einer Arbeitsmappe mit mehreren Tabellenblätter (es können durchaus mehr als 300 sein) von jedem Tabellenblatt den Wert/ den Eintrag, der jeweils in der Zelle C10 steht auslesen. Die ausgelesenen Werte sollen in einer neuen Tabelle als ein Inhaltsverzeichnis in der Spalte B ab der Zelle B 10 aufgelistet werden. Diese erzeugte Liste sollte dann mit Hyperlinks auf die jeweils ausgelesene Tabelle verlinkt werden. Kann man das irgendwie über ein Makro lösen?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen auslesen
16.02.2009 21:14:00
Josef
Hallo Peter,
der Code gehört in ein allgemeines Modul.
' **********************************************************************
' Modul: Modul4 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Inhaltsverzeichnis()
    Dim objWS As Worksheet, objWSIndex As Worksheet
    Dim lngR As Long
    
    Const cstrIndexName As String = "Index" 'Name des Inhaltsverzeichnisses
    
    If SheetExist(cstrIndexName) Then
        Set objWSIndex = Sheets(cstrIndexName)
    Else
        Set objWSIndex = ThisWorkbook.Worksheets.Add(Before:=Sheets(1))
        objWSIndex.Name = cstrIndexName
    End If
    
    objWSIndex.Range("B10:B" & Rows.Count).ClearContents
    
    lngR = 10
    
    With objWSIndex
        
        For Each objWS In ThisWorkbook.Worksheets
            If Not objWS Is objWSIndex Then
                .Hyperlinks.Add Anchor:=.Cells(lngR, 2), _
                    Address:="", _
                    SubAddress:="'" & objWS.Name & "'!C10", _
                    TextToDisplay:=objWS.Range("C10").text
                lngR = lngR + 1
            End If
        Next
        
    End With
    
    Set objWS = Nothing
    Set objWSIndex = Nothing
End Sub

Private Function SheetExist(ByVal sheetName As String, Optional WbName As String) As Boolean
    Dim wks As Worksheet
    On Error GoTo ERRORHANDLER
    If WbName = "" Then WbName = ThisWorkbook.Name
    For Each wks In Workbooks(WbName).Worksheets
        If wks.Name = sheetName Then SheetExist = True: Exit Function
    Next
    ERRORHANDLER:
    SheetExist = False
End Function

Gruß Sepp

Anzeige
AW: Zellen auslesen
17.02.2009 02:02:00
Peter
Hallo Josef,
vielen Dank für deine Hilfe. Das war die Lösung.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige