Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1048to1052
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
Inhaltsverzeichnis

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?

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige