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

export per makro mit fester Breite

export per makro mit fester Breite
16.10.2014 17:22:46
Klaus
Hallo zusammen,
ich habe eine Tabelle, die aus 24 Spalten besteht, die mit fester Breite als Textdatei exportiert werden müssen, an die Daten liegt es nicht,
ea geht mal mit 10, mal mit 1000, aber jeweils sind es die gleichen Testdaten gewesen. Insgesamt können es so bis 6000 Zeilen sein.
Es kommt immer wieder mal ein Laufzeitfehler 13.
das makro seiht wie folgt aus
Sub textExport()
Const maxcol = 24
Dim cellLen(maxcol)
cellLen(1) = 3
cellLen(2) = 4
cellLen(3) = 3
cellLen(4) = 22
cellLen(5) = 10
cellLen(6) = 60
cellLen(7) = 5
cellLen(8) = 1
cellLen(9) = 1
cellLen(10) = 1
cellLen(11) = 1
cellLen(12) = 3
cellLen(13) = 5
cellLen(14) = 5
cellLen(15) = 60
cellLen(16) = 4
cellLen(17) = 3
cellLen(18) = 3
cellLen(19) = 10
cellLen(20) = 6
cellLen(21) = 2
cellLen(22) = 22
cellLen(23) = 64
cellLen(24) = 2
For i = 1 To Worksheets.Count
Open "x:\Anfrage_APM.txt" For Output As #1
For j = 1 To Worksheets(i).Cells.SpecialCells(xlLastCell).Row
For k = 1 To maxcol
sstr = Worksheets(i).Cells(j, k)
Select Case Len(sstr)
Case Is > cellLen(k)
Print #1, Mid(sstr, 1, cellLen(k));
Case Is 

wäre nett wenn hier jemand eine Idee hat, wo es hakt.
Danke Klaus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: export per makro mit fester Breite
16.10.2014 17:41:30
Klaus
achso sorry
der Laufzeitfehler kommt immer in der Zeile
Select Case Len(sstr)

AW: export per makro mit fester Breite
16.10.2014 17:47:27
Daniel
HI
ich würde mal auf einen Fehler (#NV, #Wert #DIV/0, #Zahl) in der betroffenen Zelle tippen.
das erzeugt auf jeden Fall einen Fehler 13 in Verbindung mit der Funktion LEN.
aber das kannst du ja selber leicht prüfen, einfach mal schauen, in welcher Programmzeile der Fehler auftritt und und dann siehst du ja, welche Zelle grade bearbeitet wird (j = Zeilennummer, k = Spaltennummer) und kannst schauen, was da drin steht.
Was zu tun ist, hängt davon ab, was in diesem Fall passieren soll.
Der einfachste Weg, den Fehler zu vermeiden wäre folgende Codergänzung:
sstr = Worksheets(i).Cells(j, k).Text
durch das .Text wird auch bei Fehlern kein Fehlerwert in die Variable sstr geschrieben, sondern ein einfacher Textstring (genau der Text, den du in der Tabelle angezeigt bekommst) und das Programm läuft problemlos durch.
In der Textdatei steht dann an dieser Stelle der entsprechende Fehlertext.
Gruß Daniel

Anzeige
AW: export per makro mit fester Breite
16.10.2014 23:26:31
Klaus
Danke Daniel,
jetzt geht es problemlos, schon zigmal getestet, mit locker 5000 Zeilen
DANKE für die wahnsinnig schnelle kompetente Hilfe
Gruß Klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige