MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 28.05.2014, 09:25   #1
Jager11
Neuer Benutzer
Neuer Benutzer
Standard Excel2010 - Probleme mit der Meldung "Falsche Datensatzlänge"

Konfiguration: W7, Excel 2010

Mein VBA-Programm (ca. 2000 KB) bringt immer wieder, meist nach längerer Zeit, bei unterschiedlichen Aktionen die Fehlermeldung "Falsche Datensatzlänge" mit dem Hinweis auf eine zusammengesetzte Variable (Type).
Der Debugger bringt keine Fehlermeldung. Ebenso wenig konnte ich bisher ein Problem bei der Zuweisung von Werten zwischen den Variablen feststellen (die Arrays sind alle als Variant deklariert, enthalten aber z.T. unterschiedliche Datentypen).
Seltsamerweise verschwindet dieser Fehler für einige Zeit, wenn ich eine Zeile bei den als "Public" deklarierten Variablen "ausschneide" und in einer anderen Zeile wieder einfüge (immer im separaten Deklarationsmodul) und nach dem Speichern das Programm neu starte.
Bei der Verwendung dieses Programmes unter W8.1 und EXCEL 2013 konnte ich diese Fehlermeldung bisher nicht produzieren.
Hat jemand schon einmal ein vergleichbares Problem erlebt?

Ursache? Ein noch nicht entdecktes Problem im Programmcode, ein Problem in EXCEL 2010 bei der Variablenverwaltung, "weicher" Speicher bei diesem PC?
Die Schwierigkeit dabei ist, dass dieser Fehler immer wieder nach einiger Zeit auftaucht, aber bisher nicht systematisch zu produzieren ist.

Vielleicht kann mir einer der Experten weiterhelfen?
Jager11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.12.2016, 08:23   #2
Jager11
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard Fehlermeldung: "Falsche Datensatzlänge"

Problem wahrscheinlich gefunden! Die Fehlermeldung ist bisher nur in recht umfangreichen Programmen aufgetaucht.
Offensichtlich bestand die Ursache in der Namensgleichheit bei Tabellen, Subroutinen und Type-definierten Variablen. Wahrscheinlich trennt EXCEL hier nicht zwischen den unterschiedlichen Variablentypen.
Jager11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.04.2018, 20:23   #3
Jager11
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Traurig Falsche Datensatzlänge in EXCEL 2010

Dieses Problem konnte immer noch nicht wirklich gelöst werden (in EXCEL 2010) und tritt in mehreren Programmen mit VBA-Code beim Speichern/Lesen von Datensätzen mit der PUT/GET-Anweisung auf.
Auffällig:
Versetzt man nach dem Auftreten der Fehlermeldung einen Block mit Variablen-Definitionen (benutzerdefinierte Variable) an eine andere Position im Modul, so funktioniert das Programm meist wieder.
Sobald aber Programmcode geändert wird (es reicht ein Wort wie z.B. die Zuweisung einer anderen Variablen in einem String) tritt die Fehlermeldung bei der Speicherung des Datensatzes meist erneut auf.
Verwendet man diesen Programmcode jedoch in EXCEL 2013 oder EXCEL 2016, so tritt diese Fehlermeldung nicht mehr auf.
Allerdings ist dann diese in EXCEL 2013 oder 2016 gespeicherte Programmversion in EXCEL 2010 nicht mehr verwendbar (nur aufwärtskompatibel).
Leider hat sich Microsoft um dieses Problem in EXCEL 2010 nach meinem Wissen seit Jahren nicht mehr gekümmert. Auch habe ich bisher keine brauchbaren Lösungsansätze in den Foren darüber gefunden.
Jager11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 20.04.2018, 09:37   #4
Michael___
Standard

Hallo Jager11

Wie so oft,fehlt es an einer einheitlichen Datenstructur!
Überarbeite deine Deklarierung der Variablen!
Ein als Variant definierter Datentyp ist da nicht so hilfreich!

Gruß Michael

Geändert von Michael___ (20.04.2018 um 09:42 Uhr).
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.04.2018, 12:21   #5
Jager11
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard Falsche Datensatzlänge

Hallo Michael,

Danke für Deinen Hinweis.
Allerdings habe ich bei den benutzerdefinierten Datentypen keine Variant-Variablen verwendet. Geht das überhaupt?
Allerdings arbeite ich mit vielen großen Arrays, die auch Variant-Variable enthalten können.
Werde einmal nachprüfen, ob sich die Variablen bei den Arrays (meist Integer oder Single) nur einem Datentyp zuordnen lassen.
Ansonsten verwende ich Variant-Variable nur für die Antwort bei einer MSG-Box.

Gruß Jager11
Jager11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 10:09   #6
Jager11
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Zur Info!

Jetzt habe ich weitere Varianten getestet.

Erstaunlich:
Wenn ich das Programm unter dem "alten" XLS-Format abspeichere, allerdings unter Reduzierung der Zeilen- und Spaltenzahl auf die max. Anzahl unter dem XLS-Format, scheint die Fehlermeldung mit der "falschen Datensatzlänge" nicht mehr aufzutauchen (im Gegensatz zu EXCEL 2010 mit XLSM).

Ein weiteres Problem gibt es z.Zt. allerdings noch unter Windows 10, wenn ich meine Programme mit LOCKXLS als EXE-Datei kompiliere.
Die Version "Ohne Activation" funktioniert. Sobald ich aber eine "Trial-Version" mit begrenzter Laufzeit erstelle, weigert sich unter Win 10 sowohl EXCEL 2010 als auch EXCEL 2016, das Programm auszuführen.
Mal sehen, ob der Hersteller von LOCKXLS darauf reagiert und wie lange das Erstellen einer funktionsfähigen Version dauert.
Unter WIN 7 und WIN 8.1 mit kompilierten Versionen von EXCEL 2010 und 2013 sind diese Probleme nicht aufgetreten.

Gruß Jager11
Jager11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.05.2018, 07:43   #7
Jager11
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Der Hersteller von LOCKXLS hat jetzt reagiert. Ihm sind die Probleme mit den letzten Updates für WIN 10 bekannt. Er will bis 15.Mai ein Update liefern.
Gruß
Jager11
Jager11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.