Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Höchste Nummer aus Verzeichnis auslesen
#1
Hallo,

ich würde mich über Hilfe bei folgendem Problem freuen:

In einem Verzeichnis liegen Dateien in folgendem Format: 2023-158.xlsx und 2023-158.pdf. Es gibt also immer jeweils eine xslx und eine pdf mit dem gleichen Dateinamen.

Ich möchte gerne aus dem Dateinamen mit der höchsten dreistelligen Zahl am Ende, die Zahl auslesen und die nächst größere in das Feld A18 schreiben (wenn die Zahl z.B. "002" ist, dann soll die Zahl in A18 das Format "003" haben).

Meine Datei ist im gleichen Verzeichnis gespeichert.

Leider habe ich sehr wenig Ahnung von vba, so dass ich auch mit Google keine Lösungg finden konnte.

Viele Grüße
Heinz
Antworten Top
#2
Hi

Alternativ zu VBA hier mal ein Versuch die Nummer mit PowerQuery auszulesen. Pfad in Zeile 1 anpassen und testen.
Code:
let
    Quelle = Folder.Files("C:\Users\RNath\Desktop\Neuer Ordner"),
    #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(Quelle, "Benutzerdefiniert", each Text.End(Text.Replace([Name], [Extension], ""),3)),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Hinzugefügte benutzerdefinierte Spalte",{{"Benutzerdefiniert", Int64.Type}}),
    #"Entfernte Fehler" = Table.RemoveRowsWithErrors(#"Geänderter Typ", {"Benutzerdefiniert"}),
    Benutzerdefiniert1 = List.Max(#"Entfernte Fehler"[Benutzerdefiniert])
in
    Benutzerdefiniert1

Gruß Elex
Antworten Top
#3
Hallo Elex,

vielen Dank für die superschnelle Antwort.

Das ist das erstemal, dass ich etwas von Power Query höre Smile

Ich glaube da muss ich mich erstmal ein bißchen einlesen, wo ich das in Excel finde und wie das funktioniert. Mir ist auch noch nicht ganz klar, was in dem Code neben dem Verzeichnis alles angepasst werden muss. Wo trage ich die Zelle ein, in der das Ergebnis eingetragen werden soll?

Habe auch noch keinen Überblick, wofür die unterschiedlichen Klammern genutzt werden.
Code:
#"..."
sind Variabeln - richtig?

Viele Grüße
Heinz
Antworten Top
#4
Hi

Ok. Versuch mit Datei.

PowerQuery in neuen Excel = daten abrufen und transformieren.
Dort findet sich der Code im erweiterten Editor. Da ist dann hoffentlich nur der Pfad anzupassen.


Angehängte Dateien
.xlsx   Datei Version Nummer.xlsx (Größe: 25,94 KB / Downloads: 5)
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • heinz01
Antworten Top
#5
Hallo Elex,

es funktioniert wunderbar! Nochmal vielen Dank!
Könnte man jetzt noch eine Art Autoaktualisierung hinzufügen, so dass sich die Zahl automatisch updated, wenn eine neue Datei in dem Verzeichnis gespeichert wurde?

Habe eine Lösung gefunden indem ich die Abfrage per vba aktualisiere

Code:
Sub aktualisieren()
    ActiveWorkbook.RefreshAll
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste