Anzeige
Archiv - Navigation
1812to1816
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

Ordnerinhalt auflisten nach Zelle Excel 365

Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 08:38:30
Kai
Hallo Zusammen,
habe mich hier neu angemeldet.
Folgende Situation in Excel 365:
Wir benutzen hier vom Kunden vorbestimmte Formulare, die ausgefüllt werden müssen und zwar mit einer Bestellnummer und einer Blatt-Nr.. Der Kunde besteht darauf, dass die Blatt-Nr. fortlaufend (pro Bestell-Nr.) benannt wird, soweit so gut.
Beim Ausfüllen der Formulare bediene ich u. a. auch VBA-Makros, teilweise habe ich hier sehr gute Hilfe erhalten.
So, jetzt mein Anliegen:
Die o. g. Formulare werden in ein separates Verzeichnis gespeichert, welches ich beim Ausfüllen per Makro auswähle.
Ich möchte, dass mir beim öffnen eines neuen Formulars die letzte Blatt-Nr. angezeigt wird, so nach dem Motto "Die aktuelle Blatt-Nr. lautet: 95". Die eindeutige Identifikation der Formulare erfolgt über die o. g. Bestell-Nr., die auch Bestandteil des Dateinamens ist.
Also vereinfacht gesagt folgende Reihenfolge soll beim Öffnen abgearbeitet werden:
1. Eintragen der Bestell-Nr.
2. Prüfe anhand der Bestell-Nr. welches die letzte Blatt-Nr. ist
3. Gebe mir ein Meldungsfenster über die letzte Blatt-Nr.
Blatt-Nr. und Bestell-Nr. werden separat in eine vorgegebene Zelle geschrieben, die bei obigem Vorhaben ausgelesen werden müssen.
So, viel geschrieben, aber ich hoffe das mir hier geholfen werden kann.
Gruß Kai

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 08:46:22
Nepumuk
Hallo Kai,
zu 1. Wird die Bestellnummer manuell eingetragen?
Zu 2. Wo steht die "letzte Blattnummer"? Gibt es zu einer Bestellnummer mehrere Dateien?
Zu 3. Abhängig von 2.
Gruß
Nepumuk
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 08:51:58
Kai
Hallo Nepomuk,
die Bestell-Nr. wird über ein Dropdownfeld ausgewählt oder per Copy&Paste eingefügt. Die Blatt-Nr. wird manuell eingetragen als 01 ff. Diese Blatt-Nr. und auch die Bestell-Nr. werden über die Funktion VERKETTEN mit anderem Text zu dem Dateinamen zusammengebaut. Achso, abgespeichert werden diese Dateien als *.xlsm und zusätzlich als *.pdf.
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 08:55:12
Nepumuk
Hallo Kai,
jetzt bin ich genauso schlau wie vorher. Also nochmal, wie finde ich die "letzte Blattnummer"?
Gruß
Nepumuk
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 09:17:39
Nepumuk
Hallo Kai,
und das Kennwort ist?
Gruß
Nepumuk
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 09:25:46
Kai
Ja sorry: test
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 09:56:41
Nepumuk
Hallo Kai,
in das Modul "DieseArbeitsmappe":
Option Explicit

Private Sub Workbook_Open()
    
    Dim strFilename As String
    Dim lngNumber As Long
    Dim vntTemp As Variant
    
    With Worksheets("Dokument Block 3")
        
        strFilename = Dir$(.Cells(14, 34).Value & "*" & .Cells(51, 11).Value & "*.xlsm")
        
        Do Until strFilename = vbNullString
            
            vntTemp = Split(strFilename, "_")
            
            lngNumber = Application.Max(Val(Split(vntTemp(3), "-")(1)), lngNumber)
            
            strFilename = Dir$
            
        Loop
    End With
    
    Call MsgBox("Die aktuelle Blatt-Nr. lautet: " & Format$(lngNumber, "00"), vbInformation, "Information")
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 10:09:20
Kai
Danke Nepumuk,
läuft, bis auf das Meldungsfenster, das immer anzeigt: Die aktuelle Blatt-Nr. lautet 00.Klar wenn das Formular noch jungfräulich ist, aber wenn schon Dateien existieren, soll er mir ja anzeigen welche Blatt-Nr. vorhanden ist.
Klasse wäre noch, wenn dieser Wert noch automatisch in die Zelle mit der Ident-Nr. eingetragen werden kann, natürlich + 1 und vorangestellter Null.
Hast du mal Zeit über die von mir schon verfassten Makros drüber zu schauen, ob man da was vereinfachen kann?
Ansonsten schon ganz großer Danke für deine Hilfe.
Gruß Kai
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 10:18:16
Nepumuk
Hallo Kai,
ich habe die Datei 2mal gespeichert. Einmal mit Nummer 1 einmal mit Nummer 2. Nach dem Schließen und erneuten Öffnen wird mir die Nummer 2 als aktuelle angezeigt.
Das Eintragen der nächsten Nummer geht so:
Option Explicit

Private Sub Workbook_Open()
    
    Dim strFilename As String
    Dim lngNumber As Long
    Dim vntTemp As Variant
    
    With Worksheets("Dokument Block 3")
        
        strFilename = Dir$(.Cells(14, 34).Value & "*" & .Cells(51, 11).Value & "*.xlsm")
        
        Do Until strFilename = vbNullString
            
            vntTemp = Split(strFilename, "_")
            
            lngNumber = Application.Max(Val(Split(vntTemp(3), "-")(1)), lngNumber)
            
            strFilename = Dir$
            
        Loop
        
        .Cells(51, 16).Value = lngNumber + 1
        
        Call MsgBox("Die aktuelle Blatt-Nr. lautet: " & Format$(lngNumber, "00"), vbInformation, "Information")
        
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 10:30:12
Kai
Hallo Nepumuk,
nee bei mir zeigt er 00 und addiert dann natürlich diese Zahl +1, d. h. egal, ob ich ein jungfräuliches Formular erstelle oder ein bestehendes, zum Beispiel das Blatt mit der Nr. 15, überschreiben will, er schreibt in das zugehörige Feld immer 01.
Habe dein Makro mal in ein leeres Formular kopiert und in ein bestehendes vom heutigen Tage, jedes Mal erscheint die 01 als Ident-Nr., genau das ist aber kontraproduktiv. Bei dem Formulat von heute, soll Excel ja die letzte Ident-Nr., kann von gestern oder von noch früher sein, auslesen und als neue Ident-Nr. plus 1 eintragen. Ich erhoffe mir dadurch ein umständliches Suchen in unterschiedlichen Ordnern, bei welcher Ident-Nr. ich jetzt bin. Wir müssen für jeden Tag so einen Schein ausfüllen mit fortlaufender Nummer, da legt der Kunde großen Wert drauf und dem ist es egal wie wir die Nummer eintragen.
Danke schonmal im Voraus.
Gruß Kai
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 10:41:53
Nepumuk
Hallo Kai,
Speichere die Datei im Anhang direkt im Laufwerk T und öffne sie. Da kommt als aktuelle Nummer die 1 und unten wird die 2 eingetragen.
https://www.herber.de/bbs/user/144198.zip
Und zeig mal ein einen Dateinamen bei dem es nicht funktioniert.
Gruß
Nepumuk
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 11:13:06
Kai
Hallo Nepumuk,
mit deiner Datei klappt es.
So anbei mal eine heute erstellte Datei aus dem Tagesablauf, wo es nicht klappt.
Anmerkung:
Der Dateipfad wird jedes Mal über ein Makro ausgewählt oder in einer bestehenden Datei so belassen. Über die Schaltfläche Speichern als Excel wird ja dann eine neue Datei generiert, ebenso die PDF-Datei.
Das wirst du aber auch gesehen habe, denke ich.
Die Datei mit den Auftragsinfos befindet sich in einer separaten Excel-Datei die ich immer händisch aktualisieren muss, also da muss ich die benötigten Daten eintragen.
Gruß und Dank
Kai
https://www.herber.de/bbs/user/144202.zip
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 11:31:10
Nepumuk
Hallo Kai,
alles klar, in deiner ersten Mappe war nur das Laufwerk T ohne Ordner angegeben und das hatte einen Backslash am Ende. Wähle ich einen Ordner auf dem Laufwerk aus hat es keinen Backslash. Also:
Option Explicit
Option Compare Text

Private Sub Workbook_Open()
    
    Dim strFilename As String, strPath As String
    Dim lngNumber As Long, ialngIndex As Long
    Dim avntTemp As Variant
    
    With Worksheets("Dokument Block 3")
        
        strPath = .Cells(14, 34).Value
        
        If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
        
        strFilename = Dir$(strPath & "*" & .Cells(51, 11).Value & "*.xlsm")
        
        Do Until strFilename = vbNullString
            
            avntTemp = Split(strFilename, "_")
            
            For ialngIndex = LBound(avntTemp) To UBound(avntTemp)
                
                If Left$(avntTemp(ialngIndex), 5) = "Blatt" Then
                    
                    lngNumber = Application.Max(Val(Split(avntTemp(ialngIndex), "-")(1)), lngNumber)
                    
                    Exit For
                    
                End If
            Next
            
            strFilename = Dir$
            
        Loop
        
        .Cells(51, 16).Value = lngNumber + 1
        
        Call MsgBox("Die aktuelle Blatt-Nr. lautet: " & Format$(lngNumber, "00"), vbInformation, "Information")
        
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 11:48:28
Kai
Hallo Nepumuk,
danke jetzt läuft es.
Eine Frage habe ich noch: Kann ich dieses Makro nochmals per Schaltfläche aufrufen um während des Ausfüllens noch mal die letzte Blatt-Nr. einsehen zu können?
Was ganz toll wäre, wenn ich mir Schaltfläche eine Dateiliste anzeigen lassen könnte, die als Identifikation der Dateien die Bestellnummer hat. Also alle zur Bestellnummer zugehörigen Dateien werden mir in einer Liste angezeigt, aus der ich dann eine der angezeigten Dateien aufrufen kann.
Gruß Kai
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 12:38:19
Nepumuk
Hallo Kai,
schau mal in die Mappe. Ich habe "DieseArbeitsmappe" geändert, im leeren "Modul5" Code eingesetzt und "frmFileList" hinzugefügt.
https://www.herber.de/bbs/user/144206.zip
Gruß
Nepumuk
Anzeige
AW: Ordnerinhalt auflisten nach Zelle Excel 365
24.02.2021 13:58:43
Kai
Hi Nepumuk,
läuft danke dir sehr herzlich.
Gruß Kai

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige