Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
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

Inhaltsverzeichnis mit Link

Inhaltsverzeichnis mit Link
01.11.2020 10:16:13
Ulrich
Hallo Zusammen,
ich möchte gerne in einer Exceldatei „Inhaltsverzeichnis.xlsx“ die Dateinamen der Dateien aus dem aktuellen Dateiordner und aus Unterordnern in 4 Spalten aufgelistet haben; die aufgelisteten Dateien sollen mit einem hyperlink zum Aufrufen der Datei versehen werden.
Spalte B -- Dateinamen die mit GB_ beginnen
Spalte E -- Dateinamen die mit BA_ beginnen
Spalte H -- Dateinamen die mit BG_ beginnen
Spalte K -- Dateinamen die mit XX_ beginnen
(Sortierung Alphabetisch „Dateiname und Verlinkung zur Datei)
Die Dateien können unterschiedliches Dateiformat haben, z.B. Excel, Word, pdf ......
kann mir diesbezüglich jemand helfen?
vielen Dank dafür
Gruß Ulli

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhaltsverzeichnis mit Link
01.11.2020 16:47:34
Ulrich
Hallo,
danke für deine Mail,
folgender Fehler (siehe Anlage) wir mir angezeigt
Userbild
Gruß Ulli
Anzeige
AW: Inhaltsverzeichnis mit Link
01.11.2020 16:58:46
Hajo_Zi
Hallo Uli,
es Stand nicht im Beitrag das es eine 64 bit Version ist.
Gru� Hajo
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:06:12
Ulrich
Hallo Hajo,
sorry, das habe ich nicht gewusst das die Version bekannt sein muß.
Ich habe jetzt folgendes "PtrSafe" in den rot markierten Zeilen ergänzt.
Der Fehler ist jetzt weg, es öffnet sich auch ein Fenster zum Auslesen der Dateien, aber dann bricht Excel ab.
Als Anlage eine Beispieldatei wie ungefähr das Inhaltsverzeichnis aussehen soll,
https://www.herber.de/bbs/user/141232.xlsx
Gruß Ulli
Anzeige
AW: Inhaltsverzeichnis mit Link
01.11.2020 14:39:59
Nepumuk
Hallo Ulli,
was soll mit Dateien passieren die nicht mit den angegebenen Buchstaben beginnen? Ab welcher Zeile? Wo soll der Dateiname hin und wo der Link oder genügt es den Dateinamen im Link anzuzeigen?
Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
01.11.2020 16:39:08
Ulrich
Hallo Nepumuk,
vielen Dank für deine Mail.
- Dateien ohne diese Anfangsbuchstaben können unberücksichtigt bleiben.
- Die Auflistung kann direkt unter der Überschrift beginnen(in der Beispieldatei ab Zeile 4)
- Der Dateiname soll direkt in die freien Zellen der Spalte eingetragen werden
- Den Dateinamen mit dem link versehen wäre gut.
ich habe noch eine kleine Beispieldatei angehängt
https://www.herber.de/bbs/user/141228.xlsx
Danke für deine Mühe.
Gruß Ulli
Anzeige
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:10:33
Ulrich
Hallo Nepumuk,
mein Excel ist eine 64 bit Version, ich hatte das vergessen anzugeben.
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:14:39
max.kaffl@gmx.de
Hallo Ulli,
ich versuche Programme so zu schreiben dass es für beide Versionen passt. Teste mal:
https://www.herber.de/bbs/user/141233.xlsm
Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:28:00
Ulrich
Hallo Nepumuk,
das ist ja Wahnsinn, geil, funktioniert.
Wäre es noch möglich das er den aktuellen Ordner (und Unterordner)direkt vorschlägt?
Ansonsten super!!
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:29:34
max.kaffl@gmx.de
Hallo Ulli,
was verstehst du unter "aktuellen Ordner"?
Gruß
Nepumuk
Anzeige
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:36:17
Ulrich
Hallo Nepumuk,
als "Aktuellen Ordner" meine ich den Ordner in dem das Inhaltsverzeichnis abgelegt ist.
Es wäre noch das i-Tüpfelchen wenn er diesen Ordner vorschlagen würde (Unterordner einbezogen)
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:41:09
Nepumuk
Hallo Ulli,
so:
.InitialFileName = ThisWorkbook.Path

Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:45:58
Nepumuk
Hallo Ulli,
doch besser so:
.InitialFileName = ThisWorkbook.Path & "\"
Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
03.11.2020 14:07:02
Ulrich
Hallo Nepumuk,
ich habe noch eine kurze Frage (ich hoffe es nervt nicht)
Ich habe die Tabelle etwas verändert.
Es sollen in Spalte B Dateien aufgelistet werden, die mit LT_ beginnen. (alles gleichartige Excel Dateien)
ich habe dein Makro mit meinem Halbwissen angepasst.
Folgende Zellinhalte aus den Dateien sollen rausgezogen werden
Spalte 5 Zelle B5
Spalte 8 Zelle D6
Spalte 11 Zelle D7
Ist das so überhaupt möglich?
Wenn die Rahmen (einfache Linie) auch mit erstellt werden wäre klasse.
Vielleicht hast du noch einmal die Möglichkeit dir das anzusehen.
https://www.herber.de/bbs/user/141276.xlsm
Gruß Ulli
Anzeige
AW: Inhaltsverzeichnis mit Link
03.11.2020 14:22:20
Nepumuk
Hallo Ulli,
aus welcher Tabelle sollen die Daten kommen?
Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
03.11.2020 14:35:38
Ulrich
Hallo Nepumuk,
Jeweils aus den Dateien (Excel), die links in Spalte B als Inhaltsverzeichnis aufgeführt werden.
Das heißt, es werden wieder die Dateinamen mit der Verlinkung aufgelistet (Spalte B), und aus diesen Dateien werden jeweils 3 Zellen (B5; D6; D7) ausgelesen und in die benachbarten Spalten eingelesen.
Ich hoffe das ist verständlich.
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
03.11.2020 15:02:01
Nepumuk
Hallo Ulli,
teste mal:
Public Sub Inhaltsverzeichnis()
    
    Const COLUMN_NUMBER As Long = 2
    
    Dim objFileSearch As clsFileSearch, objFileDialog As FileDialog
    Dim objWorkbook As Workbook
    Dim ialngIndex As Long, lngFileCount As Long
    Dim strFolder As String
    
    Set objFileDialog = Application.FileDialog(fileDialogType:=msoFileDialogFolderPicker)
    
    With objFileDialog
        
        .AllowMultiSelect = False
        .ButtonName = "Auswählen"
        .Title = "Ordner auswählen"
        .InitialFileName = ThisWorkbook.Path & "\"
        If .Show Then strFolder = .SelectedItems(1)
        
    End With
    
    Set objFileDialog = Nothing
    
    If strFolder <> vbNullString Then
        
        With Application
            .Calculation = xlCalculationManual
            .EnableEvents = False
            .ScreenUpdating = False
        End With
        
        Set objFileSearch = New clsFileSearch
        
        With Tabelle1
            Call .Range(.Cells(4, COLUMN_NUMBER), Cells(.Rows.Count, COLUMN_NUMBER)).ClearContents
        End With
        
        With objFileSearch
            
            .CaseSenstiv = False
            .Extension = "*.xls*"
            .FolderPath = strFolder
            .SubFolders = True
            .NewSearch = True
            .SearchLike = "LT_*"
            
            lngFileCount = .Execute(Sort_by_Name, Sort_Order_Ascending)
            
            For ialngIndex = 1 To lngFileCount
                
                With .Files(ialngIndex)
                    
                    Set objWorkbook = Workbooks.Open(Filename:=.Path, UpdateLinks:=3, ReadOnly:=True)
                    
                    Call Tabelle1.Hyperlinks.Add(Anchor:=Tabelle1.Cells(ialngIndex + 3, COLUMN_NUMBER), _
                        Address:=.Path, TextToDisplay:=.Filename)
                    
                    With objWorkbook.Worksheets(1)
                        Tabelle1.Cells(ialngIndex + 3, 5).Value = .Cells(5, 2).Value
                        Tabelle1.Cells(ialngIndex + 3, 8).Value = .Cells(6, 4).Value
                        Tabelle1.Cells(ialngIndex + 3, 11).Value = .Cells(7, 4).Value
                    End With
                    
                    With Tabelle1
                        With .Range(.Cells(ialngIndex + 3, 2), .Cells(ialngIndex + 3, 11))
                            Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin)
                            .Borders(xlInsideHorizontal).LineStyle = xlContinuous
                            With .Borders(xlInsideVertical)
                                .LineStyle = xlContinuous
                                .Weight = xlThin
                            End With
                        End With
                    End With
                    
                    Call objWorkbook.Close(SaveChanges:=False)
                    
                    Set objWorkbook = Nothing
                    
                End With
            Next
        End With
        
        Set objFileSearch = Nothing
        
        With Application
            .Calculation = xlCalculationAutomatic
            .EnableEvents = True
            .ScreenUpdating = True
        End With
        
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Inhaltsverzeichnis mit Link
03.11.2020 15:58:08
Ulrich
Hallo Nepumuk,
folgender Fehler kommt:
Userbild
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
03.11.2020 16:10:34
Nepumuk
Hallo Ulli,
der Type ist im Modul1 definiert. Den darfst du natürlich nicht löschen.
Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
03.11.2020 16:13:46
Ulrich
Hallo Nepumuk,
sorry, funktioniert doch, ich Doof hatte das ganze alte Makro gelöscht.
Also funktioniert doch, nur die alten Daten und Rahmen in der Tabelle (falls vorhanden) werden vor dem aktualisieren durch Ausführen des Makro nicht gelöscht.(wäre gut wenn das vorher passieren würde)
Ansonsten super
Gruß Ulli
Anzeige
AW: Inhaltsverzeichnis mit Link
03.11.2020 16:27:15
Nepumuk
Hallo Ulli,
so:
Public Sub Inhaltsverzeichnis()
    
    Const COLUMN_NUMBER As Long = 2
    
    Dim objFileSearch As clsFileSearch, objFileDialog As FileDialog
    Dim objWorkbook As Workbook
    Dim ialngIndex As Long, lngFileCount As Long
    Dim strFolder As String
    
    Set objFileDialog = Application.FileDialog(fileDialogType:=msoFileDialogFolderPicker)
    
    With objFileDialog
        
        .AllowMultiSelect = False
        .ButtonName = "Auswählen"
        .Title = "Ordner auswählen"
        .InitialFileName = ThisWorkbook.Path & "\"
        If .Show Then strFolder = .SelectedItems(1)
        
    End With
    
    Set objFileDialog = Nothing
    
    If strFolder <> vbNullString Then
        
        With Application
            .Calculation = xlCalculationManual
            .EnableEvents = False
            .ScreenUpdating = False
        End With
        
        With Tabelle1
            Call .Range(.Cells(4, 2), .Cells(.Rows.Count, 11)).Clear
        End With
        
        With Tabelle1
            Call .Range(.Cells(4, COLUMN_NUMBER), Cells(.Rows.Count, COLUMN_NUMBER)).ClearContents
        End With
        
        Set objFileSearch = New clsFileSearch
        
        With objFileSearch
            
            .CaseSenstiv = False
            .Extension = "*.xls*"
            .FolderPath = strFolder
            .SubFolders = True
            .NewSearch = True
            .SearchLike = "LT_*"
            
            lngFileCount = .Execute(Sort_by_Name, Sort_Order_Ascending)
            
            For ialngIndex = 1 To lngFileCount
                
                With .Files(ialngIndex)
                    
                    Set objWorkbook = Workbooks.Open(Filename:=.Path, UpdateLinks:=3, ReadOnly:=True)
                    
                    Call Tabelle1.Hyperlinks.Add(Anchor:=Tabelle1.Cells(ialngIndex + 3, COLUMN_NUMBER), _
                        Address:=.Path, TextToDisplay:=.Filename)
                    
                    With objWorkbook.Worksheets(1)
                        Tabelle1.Cells(ialngIndex + 3, 5).Value = .Cells(5, 2).Value
                        Tabelle1.Cells(ialngIndex + 3, 8).Value = .Cells(6, 4).Value
                        Tabelle1.Cells(ialngIndex + 3, 11).Value = .Cells(7, 4).Value
                    End With
                    
                    With Tabelle1
                        With .Range(.Cells(ialngIndex + 3, 2), .Cells(ialngIndex + 3, 11))
                            Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin)
                            With .Borders(xlInsideVertical)
                                .LineStyle = xlContinuous
                                .Weight = xlThin
                            End With
                        End With
                    End With
                    
                    Call objWorkbook.Close(SaveChanges:=False)
                    
                    Set objWorkbook = Nothing
                    
                End With
            Next
        End With
        
        Set objFileSearch = Nothing
        
        With Application
            .Calculation = xlCalculationAutomatic
            .EnableEvents = True
            .ScreenUpdating = True
        End With
        
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Inhaltsverzeichnis mit Link
03.11.2020 16:33:13
Ulrich
Hallo Nepumuk,
großartig !!
Kann ich dir das irgendwie gut machen?
vielleicht habe ich in der Zukunft noch einmal etwas, dann käme ich mir doof vor dich wieder zu belästigen.
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
03.11.2020 16:40:25
Nepumuk
Hallo Ulli,
spende 25€ an SOS-Kinderdorf.
https://www.sos-kinderdorf.de/
Kinder sind das wichtigste was es gibt.
Gruß
Nepumuk
AW: Inhaltsverzeichnis mit Link
03.11.2020 17:45:06
Ulrich
Hallo Nepumuk,
das mache ich gerne.
Vielen Dank noch einmal für deine Hilfe.
Gruß Ulli
AW: Inhaltsverzeichnis mit Link
01.11.2020 17:58:50
Ulrich
Hallo Nepumuk,
vielen Dank für deine Hilfe, ganz große Klasse!
Ich wünsche dir noch einen schönen Abend!
Gruß Ulli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige