HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Forumbeitrag
Excel-Version des Fragestellers:
365 Business
Erfahrungslevel des Fragestellers:
Kaum Excel/VBA-Kenntnisse
Heiko34
26.02.2026 21:30:14
AW: Der Fehler kommt...
Hallo Case,

was soll ich sagen? Ich bin begeistert. Jetzt läuft es durch!

Vielen Dank für Deine Unterstützung!

Gruß Heiko
Als Antwort auf diesen Beitrag
Case
26.02.2026 18:39:42
Der Fehler kommt...
Moin, :-)

... daher, dass ich in der Funktion fnJSON pauschal "Record.FieldNames([Value]{0})" mache. Wenn die Liste leer ist, oder "documents" nicht existiert knallt es da: ;-)
Fehler in der Abfrage 'fnJSON'. Expression.Error: Der Vorgang konnte nicht abgeschlossen werden, da die Enumeration nicht genügend Elemente enthielt. Details: [List]

Um das zu umgehen prüfen wir vorher. Also tausche/überschreibe den kompletten M-Code in der Funktion fnJSON mit diesem hier: ;-)

let

Quelle = (Datei as binary) =>
let
Quelle = Json.Document(Datei),
ID = Quelle[id],
Alles = Record.ToTable(Quelle),
NurStrukturen = Table.SelectRows(Alles, each Value.Is([Value], type list) or Value.Is([Value], type record)),
Transform = Table.AddColumn(NurStrukturen, "Data", each if Value.Is([Value], type record) then Table.AddColumn( Record.ToTable([Value]), "ID", each ID) else
if [Value] = null or List.Count([Value]) = 0 then
#table({}, {})
else
Table.AddColumn(
Table.ExpandRecordColumn(
Table.FromList(
[Value],
Splitter.SplitByNothing()
),
"Column1",
Record.FieldNames([Value]{0})
),
"ID",
each ID
))
in
Transform
in
Quelle

Das ist eben getestet - und funktioniert mit deiner Beispiel-JSON. ;-)

Servus
Case
Folgenachrichten
Antwort auf Beitrag erstellen

Beispieldatei hochladen