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

Format in Txt-Datei geänd. VBA-Markro geht nicht m

Format in Txt-Datei geänd. VBA-Markro geht nicht m
21.03.2015 22:00:53
Wolfgang
Hallo VBA-Profis, ich brauche bitte Eure Hilfe!
bisher hat mein VBA-Markro (Excel 2007 und auch XP 2003) funktioniert. Nun sind die Positionen erneut leicht verändert worden und ein paar Überschriften. Meine Anpassungen daran haben nicht funktioniert.
In der Excel-Datei ist das bisherige VBA.
Ich hoffe ihr kommt mit den angehängten Dateien zurecht.
XLS mit VBA Makro (hierher importiere ich das txt-file und Sortiere sowie Summiere ich die Belastungen und Gutschriften des Leerguts)
XLSM - (Ergebnis bisher, Makro integriert funktionierte mit altem TXT-Format)
https://www.herber.de/bbs/user/96542.xlsm
TXT-ALT Januar (funktioniert mit bisherigem Makro)
https://www.herber.de/bbs/user/96543.txt
TXT-NEU Februar (funktioniert nicht mehr nach TXT-Format Änderung)
https://www.herber.de/bbs/user/96544.txt
JPG NEU_vs_ALT mit Beyond Compare (Änderungen im Vergleich auf einen Blick)
https://www.herber.de/bbs/user/96545.jpg
Für Eure Hilfe bedanke ich mich bereits im Voraus.
Bin auch bereit was springen zu lassen. :)
Gruß
Spedi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
22.03.2015 19:33:09
Luschi
Hallo Spedi,
ich schau mir das mal an. Bis morgen...
Gruß von Luschi
aus klein-Paris

AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
22.03.2015 20:05:40
Luschi
Hallo Spedi,
hier klemmt es im Code gewaltig:

If InStr(1, myRec, "Kunden-Nummer ") > 0 Then                       'neu-geändert
strKdNr = Mid(myRec, InStr(1, myRec, "Kunden-Nummer ") + 14)
End If
If SollIch(myRec) Then

Du filterst die KundenNr. aus der Einlesezeile, übergibst der Funktion 'SollIch' aber wieder die gesamte Einlesezeile (myRec) und testest darin, ob das ein gültiges Datum ist.
Das kann nicht hinhauen und so wir überhaupt nichts eingelesen!
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
22.03.2015 19:48:46
fcs
Hallo Wolfgang,
du musst die Konstanten wie folgt anpassen und die Function SollIch anpassen.
Gruß
Franz

'Datensatzaufbau lt. Mustertext - Anpassung ab 2015-02
Const Nx1Lg As Integer = 2 ' alt 4              'Länge Zeichenkette für Nix
Const DtmLg As Integer = 10                     'Datum
Const SndLg As Integer = 9                      'Sendung
Const Bg1Lg As Integer = 27                     'Beleg1
Const Bg2Lg As Integer = 9 ' alt 10             '
Const Bg3Lg As Integer = 10                     '
Const Nx2Lg As Integer = 1                      '* - Nix
Const FpSLg As Integer = 8 '                    'Flachpalette    Soll
Const FpHLg As Integer = 9 'alt 10              '                Haben
Const Nx3Lg As Integer = 1 'alt 6               '* - Nix
Const GpSLg As Integer = 8 'alt 6               'Gitterpalette   Soll
Const GpHLg As Integer = 9 'alt10               '                Haben
'Const Nx4Lg As Integer = 1 'neu                 '* - Nix  - neue Spalten mit Soll/Haben
'Const UbSLg As Integer = 8 'neu                 'Unbekannt       Soll
'Const UbHLg As Integer = 9 'neu                 'Unbekannt       Haben
'Variable
Function SollIch(ByVal Prüfe As String) As Boolean              'Anpassuung ab 2015-02
If IsDate(Trim(Mid(Prüfe, Nx1Lg + 1, DtmLg))) Then
If IsNumeric(Mid(Prüfe, Nx1Lg + DtmLg + 1, SndLg)) _
And Len(Prüfe) > Nx1Lg + DtmLg + 1 + SndLg Then SollIch = True
'Die zusätzliche Längenprüfung verhindert das Zeilem wie "000001/000001" als zu übernehmen  _
_
interpretiert werden.
End If
End Function

Anzeige
AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
22.03.2015 21:45:45
Wolfgang
Hallo FCS,
dankee für den Support. Konnte deine Zeilen einfügen und Makro funktioniert wieder. Hoffe für die nächsten 1,5 Jahre. DU hast mir 09.2013 bereits zum gleichen Thema geholfen. DANKE DANKE.
Hallo Luschi,
danke auch für deinen Support. Deinen Vorschlag werde ich auch noch testen.
In Spalte R möchte ich wie in Spalte K die Tour hinterlegt haben, könnt Ihr mir hierzu noch die Zeilen dazu senden?
Danke und Gruß
Wolfgang

AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
22.03.2015 23:16:43
fcs
Hallo Wolfgang,
da sind jetzt an verschiedenen Stellen Ergänzungen/Anpassungen erforderlich.
Meist muss die Variable aGpHSp durch die neue Konstante aKdNrSp ersetzt werden, oder in einigen OffSet-Anweisungen die 4 durch eine 5. Ich hab die entsprechenden Zeilen markiert.
Gruß
Franz
Option Explicit
'die Excel Tabelle ist formatiert (Spaltenbreiten, Datenformat etc)
'Voreinstellungen - ggf. anpassen
Const TName As String = "Tabelle1"              'Tabellenblattname wo/wegen Werte sortieren
Const DtmSp As Long = 2                         'Spalte Nr. für     Datum
Const SndSp As Long = 3                         '                   Sendung
Const Bg1Sp As Long = 4                         '                   Beleg1
Const Bg2Sp As Long = 5                         '
Const Bg3Sp As Long = 6                         '
Const FpSSp As Long = 7                         '                   Flachpalette    Soll
Const FpHSp As Long = 8                         '                                   Haben
Const GpSSp As Long = 9                         '                   Gitterpalette
Const GpHSp As Long = 10
Const KdNrSp As Long = 11                     'Neu Tour/Kunden-Nummer
Const aDtmSp As Long = 12                       'Spalte Nr.für Datum - Auswertung
Const aSndSp As Long = 13                       '              Sendung (aha Rollkarte)
Const aFpSSp As Long = 14                       '              Flachpalette    Soll
Const aFpHSp As Long = 15                       '                              Haben
Const aGpSSp As Long = 16                       '              Gitterpalette   Soll
Const aGpHSp As Long = 17                       '                              Habben
Const aKdNrSp As Long = 18                       'Kunden-Nr           'neu fcs 2015-03-22
'Datensatzaufbau lt. Mustertext - Anpassung ab 2015-02
Const Nx1Lg As Integer = 2 ' alt 4              'Länge Zeichenkette für Nix
Const DtmLg As Integer = 10                     'Datum
Const SndLg As Integer = 9                      'Sendung
Const Bg1Lg As Integer = 27                     'Beleg1
Const Bg2Lg As Integer = 9 ' alt 10             '
Const Bg3Lg As Integer = 10                     '
Const Nx2Lg As Integer = 1                      '* - Nix
Const FpSLg As Integer = 8 '                    'Flachpalette    Soll
Const FpHLg As Integer = 9 'alt 10              '                Haben
Const Nx3Lg As Integer = 1 'alt 6               '* - Nix
Const GpSLg As Integer = 8 'alt 6               'Gitterpalette   Soll
Const GpHLg As Integer = 9 'alt10               '                Haben
'Const Nx4Lg As Integer = 1 'neu                 '* - Nix  - neue Spalten mit Soll/Haben
'Const UbSLg As Integer = 8 'neu                 'Unbekannt       Soll
'Const UbHLg As Integer = 9 'neu                 'Unbekannt       Haben
'Variable
Dim txtFile As String                           'Import Quelle
Dim AbZeile As Long                             'Import ab Tabellenzeile - 2 Zeilen Überschrift  _
Dim aAbZeile As Long                            'Auswertung ab Tabellenzeile
Sub Importiere()
Dim myRec As String, strKdNr As String          'geändert
'Quelle wählen
If Not Dateiabfrage Then Exit Sub
'anhängen oder überschreiben
If Not BeginnMit Then Exit Sub
'Startzeile merken
aAbZeile = AbZeile
'sequentiell einlesen
Application.ScreenUpdating = False
Open txtFile For Input As #1
Do While Not EOF(1)
Line Input #1, myRec
Debug.Print myRec
'Kundennummer/Tour ermitteln
If InStr(1, myRec, "Kunden-Nummer ") > 0 Then
strKdNr = Mid(myRec, InStr(1, myRec, "Kunden-Nummer ") + 14)
End If
If SollIch(myRec) Then
myRec = SatzKappen(myRec, Nx1Lg)
Cells(AbZeile, DtmSp).Value = CDate(Trim(Left(myRec, DtmLg)))
myRec = SatzKappen(myRec, DtmLg)
Cells(AbZeile, SndSp).Value = Trim(Left(myRec, SndLg))
myRec = SatzKappen(myRec, SndLg)
Cells(AbZeile, Bg1Sp).Value = Trim(Left(myRec, Bg1Lg))
myRec = SatzKappen(myRec, Bg1Lg)
Cells(AbZeile, Bg2Sp).Value = Trim(Left(myRec, Bg2Lg))
myRec = SatzKappen(myRec, Bg2Lg)
Cells(AbZeile, Bg3Sp).Value = Trim(Left(myRec, Bg3Lg))
myRec = SatzKappen(myRec, Bg3Lg)
myRec = SatzKappen(myRec, Nx2Lg)
'von wegen kein Eintrag - Flachpaletten-Daten
On Error Resume Next
Cells(AbZeile, FpSSp).Value = CDbl(Trim(Left(myRec, FpSLg)))
myRec = SatzKappen(myRec, FpSLg)
Cells(AbZeile, FpHSp).Value = CDbl(Trim(Left(myRec, FpHLg)))
myRec = SatzKappen(myRec, FpHLg)
On Error GoTo 0
myRec = SatzKappen(myRec, Nx3Lg)
'von wegen kein Eintrag - Gitterpaletten-Daten
On Error Resume Next
Cells(AbZeile, GpSSp).Value = CDbl(Trim(Left(myRec, GpSLg)))
myRec = SatzKappen(myRec, GpSLg)
Cells(AbZeile, GpHSp).Value = CDbl(Trim(Left(myRec, GpHLg)))
myRec = SatzKappen(myRec, GpHLg)
'        On Error GoTo 0
'        myRec = SatzKappen(myRec, Nx4Lg)
'von wegen kein Eintrag - unbekante Sache
'        On Error Resume Next
'        Cells(AbZeile, UbSSp).Value = CDbl(Trim(Left(myRec, UbSLg)))
'        myRec = SatzKappen(myRec, UbSLg)
'        Cells(AbZeile, UbHSp).Value = CDbl(Trim(Left(myRec, UbHLg)))
Cells(AbZeile, KdNrSp).Value = strKdNr
On Error GoTo 0
'Rahmen rum
Call Umrahmen(0)
AbZeile = AbZeile + 1
End If
Loop
Close #1
'Spalten DtmSp - SndSp u. FpSSp - GpHSp zur Auswertung kopieren
Range(Cells(aAbZeile, DtmSp), Cells(AbZeile, SndSp)).Copy _
Destination:=Cells(aAbZeile, aDtmSp)
Range(Cells(aAbZeile, FpSSp), Cells(AbZeile, KdNrSp)).Copy _
Destination:=Cells(aAbZeile, aFpSSp)                             'geändert fcs 2015-03-22
'Auswerten
'vor Auswertung sortieren nach aSndSp (einf. Makroaufzeichnung)
If Not aSortieren Then GoTo Unfertig
'zusammenschreiben
If Not Cumulus Then GoTo Unfertig
'nochmals sortieren
If Not aSortieren Then GoTo Unfertig
'ggf. alte Reste weg
AbZeile = AbZeile + 1
Range(Cells(AbZeile, DtmSp), Cells(mylastRow, aKdNrSp)).Clear        'geändert fcs 2015-03-22
Application.ScreenUpdating = True
Cells(aAbZeile, aDtmSp).Select
Exit Sub
Unfertig:
Application.ScreenUpdating = True
MsgBox "Es sind Fehler aufgetreten"
End Sub
Function Cumulus() As Boolean
Dim y As Integer
On Error GoTo errorhandler
'von unten nach oben
AbZeile = AbZeile - 1
Cells(AbZeile, aSndSp).Select
Do While ActiveCell.Row > aAbZeile
'solange Wert davor gleich
Do While ActiveCell.Offset(-1, 0).Value = ActiveCell.Value
ActiveCell.Offset(-1, 0).Select
For y = 1 To 4
ActiveCell.Offset(0, y).Value = _
ActiveCell.Offset(0, y).Value + _
ActiveCell.Offset(1, y).Value
Next y
With Range(ActiveCell.Offset(1, -1), ActiveCell.Offset(1, 5)) 'geändert fcs 2015-03-22
.Value = ""
'.Borders.LineStyle = xlLineStyleNone
End With
Loop
'einfärben
Call Einfärben(0)
'1 nach oben
ActiveCell.Offset(-1, 0).Select
Loop
'letze Zeile
Call Einfärben(0)
Cumulus = True
Exit Function
errorhandler:
MsgBox "Abbruch - Fehler in Cumulus"
End Function
Sub Einfärben(dummy)
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 5)).Interior.ColorIndex = 35 'geändert fcs  _
2015-03-22
If ActiveCell.Offset(0, 1).Value  ActiveCell.Offset(0, 2).Value Then _
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 2)).Interior.ColorIndex = 40
If ActiveCell.Offset(0, 3).Value  ActiveCell.Offset(0, 4).Value Then _
Range(ActiveCell.Offset(0, 3), ActiveCell.Offset(0, 5)).Interior.ColorIndex = 40 'geä _
ndert fcs 2015-03-22
End Sub
Function aSortieren() As Boolean
On Error GoTo errorhandler
'Excel 2000
Range(Cells(aAbZeile, aDtmSp), Cells(AbZeile, aKdNrSp)).Select        'geändert fcs 2015-03-22
Selection.Sort Key1:=Cells(AbZeile, aSndSp), _
Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 'geändert fcs 2015-03-22
aSortieren = True
Exit Function
errorhandler:
MsgBox "Abbruch - Fehler in aSortieren"
End Function

Anzeige
AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
23.03.2015 10:14:34
Wolfgang
Hallo Franz, danke für das Update.
Es gibt noch einen Fehler beim Kompilieren, Variable ist nicht definiert. Kannst Du bitte das ganze Makro testen und ggf. anpassen?
In diesem Bereich:
Sub Importiere()
Dim myRec As String, strKdNr As String          'geändert
'Quelle wählen
If Not Dateiabfrage Then Exit Sub
'anhängen oder überschreiben
If Not BeginnMit Then Exit Sub
Gesamtes Makro:
Option Explicit
'die Excel Tabelle ist formatiert (Spaltenbreiten, Datenformat etc)
'Voreinstellungen - ggf. anpassen
Const TName As String = "Tabelle1"              'Tabellenblattname wo/wegen Werte sortieren
Const DtmSp As Long = 2                         'Spalte Nr. für     Datum
Const SndSp As Long = 3                         '                   Sendung
Const Bg1Sp As Long = 4                         '                   Beleg1
Const Bg2Sp As Long = 5                         '
Const Bg3Sp As Long = 6                         '
Const FpSSp As Long = 7                         '                   Flachpalette    Soll
Const FpHSp As Long = 8                         '                                   Haben
Const GpSSp As Long = 9                         '                   Gitterpalette
Const GpHSp As Long = 10
Const KdNrSp As Long = 11                     'Neu Tour/Kunden-Nummer
Const aDtmSp As Long = 12                       'Spalte Nr.für Datum - Auswertung
Const aSndSp As Long = 13                       '              Sendung (aha Rollkarte)
Const aFpSSp As Long = 14                       '              Flachpalette    Soll
Const aFpHSp As Long = 15                       '                              Haben
Const aGpSSp As Long = 16                       '              Gitterpalette   Soll
Const aGpHSp As Long = 17                       '                              Habben
Const aKdNrSp As Long = 18                       'Kunden-Nr           'neu fcs 2015-03-22
'Datensatzaufbau lt. Mustertext - Anpassung ab 2015-02
Const Nx1Lg As Integer = 2 ' alt 4              'Länge Zeichenkette für Nix
Const DtmLg As Integer = 10                     'Datum
Const SndLg As Integer = 9                      'Sendung
Const Bg1Lg As Integer = 27                     'Beleg1
Const Bg2Lg As Integer = 9 ' alt 10             '
Const Bg3Lg As Integer = 10                     '
Const Nx2Lg As Integer = 1                      '* - Nix
Const FpSLg As Integer = 8 '                    'Flachpalette    Soll
Const FpHLg As Integer = 9 'alt 10              '                Haben
Const Nx3Lg As Integer = 1 'alt 6               '* - Nix
Const GpSLg As Integer = 8 'alt 6               'Gitterpalette   Soll
Const GpHLg As Integer = 9 'alt10               '                Haben
Const Nx4Lg As Integer = 1 'neu                 '* - Nix  - neue Spalten mit Soll/Haben
Const UbSLg As Integer = 8 'neu                 'Unbekannt       Soll
Const UbHLg As Integer = 9 'neu                 'Unbekannt       Haben
'Variable
Dim txtFile As String                           'Import Quelle
Dim AbZeile As Long                             'Import ab Tabellenzeile - 2 Zeilen Überschrift  _
_
Dim aAbZeile As Long                            'Auswertung ab Tabellenzeile

Sub Importiere()
Dim myRec As String, strKdNr As String          'geändert
'Quelle wählen
If Not Dateiabfrage Then Exit Sub
'anhängen oder überschreiben
If Not BeginnMit Then Exit Sub
'Startzeile merken
aAbZeile = AbZeile
'sequentiell einlesen
Application.ScreenUpdating = False
Open txtFile For Input As #1
Do While Not EOF(1)
Line Input #1, myRec
Debug.Print myRec
'Kundennummer/Tour ermitteln
If InStr(1, myRec, "Kunden-Nummer ") > 0 Then                       'neu-geändert
strKdNr = Mid(myRec, InStr(1, myRec, "Kunden-Nummer ") + 14)
End If
If SollIch(myRec) Then
myRec = SatzKappen(myRec, Nx1Lg)
Cells(AbZeile, DtmSp).Value = CDate(Trim(Left(myRec, DtmLg)))
myRec = SatzKappen(myRec, DtmLg)
Cells(AbZeile, SndSp).Value = Trim(Left(myRec, SndLg))
myRec = SatzKappen(myRec, SndLg)
Cells(AbZeile, Bg1Sp).Value = Trim(Left(myRec, Bg1Lg))
myRec = SatzKappen(myRec, Bg1Lg)
Cells(AbZeile, Bg2Sp).Value = Trim(Left(myRec, Bg2Lg))
myRec = SatzKappen(myRec, Bg2Lg)
Cells(AbZeile, Bg3Sp).Value = Trim(Left(myRec, Bg3Lg))
myRec = SatzKappen(myRec, Bg3Lg)
myRec = SatzKappen(myRec, Nx2Lg)
'von wegen kein Eintrag - Flachpaletten-Daten
On Error Resume Next
Cells(AbZeile, FpSSp).Value = CDbl(Trim(Left(myRec, FpSLg)))
myRec = SatzKappen(myRec, FpSLg)
Cells(AbZeile, FpHSp).Value = CDbl(Trim(Left(myRec, FpHLg)))
myRec = SatzKappen(myRec, FpHLg)
On Error GoTo 0
myRec = SatzKappen(myRec, Nx3Lg)
'von wegen kein Eintrag - Gitterpaletten-Daten
On Error Resume Next
Cells(AbZeile, GpSSp).Value = CDbl(Trim(Left(myRec, GpSLg)))
myRec = SatzKappen(myRec, GpSLg)
Cells(AbZeile, GpHSp).Value = CDbl(Trim(Left(myRec, GpHLg)))
myRec = SatzKappen(myRec, GpHLg)
On Error GoTo 0
myRec = SatzKappen(myRec, Nx4Lg)
'von wegen kein Eintrag - unbekante Sache
On Error Resume Next
Cells(AbZeile, UbSSp).Value = CDbl(Trim(Left(myRec, UbSLg)))
myRec = SatzKappen(myRec, UbSLg)
Cells(AbZeile, UbHSp).Value = CDbl(Trim(Left(myRec, UbHLg)))
Cells(AbZeile, KdNrSp).Value = strKdNr
On Error GoTo 0
Rahmen rum
Call Umrahmen(0)
AbZeile = AbZeile + 1
End If
Loop
Close #1
'Spalten DtmSp - SndSp u. FpSSp - GpHSp zur Auswertung kopieren
Range(Cells(aAbZeile, DtmSp), Cells(AbZeile, SndSp)).Copy _
Destination:=Cells(aAbZeile, aDtmSp)
Range(Cells(aAbZeile, FpSSp), Cells(AbZeile, KdNrSp)).Copy _
Destination:=Cells(aAbZeile, aFpSSp)                             'geändert fcs 2015-03-22
'Auswerten
'vor Auswertung sortieren nach aSndSp (einf. Makroaufzeichnung)
If Not aSortieren Then GoTo Unfertig
'zusammenschreiben
If Not Cumulus Then GoTo Unfertig
'nochmals sortieren
If Not aSortieren Then GoTo Unfertig
'ggf. alte Reste weg
AbZeile = AbZeile + 1
Range(Cells(AbZeile, DtmSp), Cells(mylastRow, aKdNrSp)).Clear        'geändert fcs 2015-03-22
Application.ScreenUpdating = True
Cells(aAbZeile, aDtmSp).Select
Exit Sub
Unfertig:
Application.ScreenUpdating = True
MsgBox "Es sind Fehler aufgetreten"
End Sub

'
'
Function Cumulus() As Boolean
Dim y As Integer
On Error GoTo errorhandler
'von unten nach oben
AbZeile = AbZeile - 1
Cells(AbZeile, aSndSp).Select
Do While ActiveCell.Row > aAbZeile
'solange Wert davor gleich
Do While ActiveCell.Offset(-1, 0).Value = ActiveCell.Value
ActiveCell.Offset(-1, 0).Select
For y = 1 To 4
ActiveCell.Offset(0, y).Value = _
ActiveCell.Offset(0, y).Value + _
ActiveCell.Offset(1, y).Value
Next y
With Range(ActiveCell.Offset(1, -1), ActiveCell.Offset(1, 5)) 'geändert fcs 2015-03-22
.Value = ""
'.Borders.LineStyle = xlLineStyleNone
End With
Loop
'einfärben
Call Einfärben(0)
'1 nach oben
ActiveCell.Offset(-1, 0).Select
Loop
'letze Zeile
Call Einfärben(0)
Cumulus = True
Exit Function
errorhandler:
MsgBox "Abbruch - Fehler in Cumulus"
End Function

'
Sub Einfärben(dummy)
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 5)).Interior.ColorIndex = 35 'geändert fcs  _
_
2015-03-22
If ActiveCell.Offset(0, 1).Value  ActiveCell.Offset(0, 2).Value Then _
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 2)).Interior.ColorIndex = 40
If ActiveCell.Offset(0, 3).Value  ActiveCell.Offset(0, 4).Value Then _
Range(ActiveCell.Offset(0, 3), ActiveCell.Offset(0, 5)).Interior.ColorIndex = 40 'geä _
ndert fcs 2015-03-22
End Sub

'
Function aSortieren() As Boolean
On Error GoTo errorhandler
'Excel 2000
Range(Cells(aAbZeile, aDtmSp), Cells(AbZeile, aKdNrSp)).Select        'geändert fcs 2015-03-22
Selection.Sort Key1:=Cells(AbZeile, aSndSp), _
Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 'geändert fcs 2015-03-22
aSortieren = True
Exit Function
errorhandler:
MsgBox "Abbruch - Fehler in aSortieren"
End Function

Anzeige
AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
23.03.2015 13:13:17
fcs
Hallo Wolfgang,
der Fehler tritt wahrscheinlich in den Zeilen.
        Cells(AbZeile, UbSSp).Value = CDbl(Trim(Left(myRec, UbSLg)))
myRec = SatzKappen(myRec, UbSLg)
Cells(AbZeile, UbHSp).Value = CDbl(Trim(Left(myRec, UbHLg)))

weil für die Variablen UbSSp und UbHSp unter den Konstanten noch keine Werte zugewiesen sind.
Willst du diese im Vergleich zum Januar zusätzlichen 2 Spalten tatsächlich aus der Textdatei einlesen?
Dann musst du den kompletten Tabellenaufbau um diese 2 Spalten erweitern.
Danach müssten dann alle Konstanten mit Spalten-Nummern oberhalb von 10 angepasst werden. und in einigen For-Next-Schleifen in der Auswertung muss der Endwert der Schleifen um 2 erhöht werden.
Bevor ich da irgendetwas teste musst du erst einaml schreiben, in welche Richtung es hier weitergehen soll.
Gruß
Franz

Anzeige
AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
23.03.2015 15:03:17
Wolfgang
Hallo Franz,
nein, will keine weiteren Spalten einlesen, diese werden leer bleiben.
Wollte nur ein funktionierendes Makro haben wie im Januar und die Tour Angabe in der Zusammenfassung.
Gruß
Wolfgang

AW: Format in Txt-Datei geänd. VBA-Markro geht nicht m
24.03.2015 15:31:00
fcs
Hallo Wolfgang,
dann lösche die 3 genannten Problemzeilen oder mache sie zu Kommentaren.
Gruß
Franz

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige