Excel VBA - Letzte Zeile farbig machen

jerry0110

Erfahrenes Mitglied
Hallo zusammen,

ich habe mal wieder ein Problem was ich nicht selber gelöst bekomme.
Ich habe mehrer verschiedene CSV Dateien die ich in Excel umwandle und dann per Email versende (siehe auch dazu meine 100 Posts :) )
Jetzt wollte ich, dass er mir die erste Zeile bis zur letzten Spalte mit gelber Farbe hinterlegen und danach noch fett, etc. Jetzt funktioniert es bei 2 von 6. (hierbei handelt es sich um eine Schleife) Bei den restlichen ist eine Spalte mehr, oder 3 mehr. ich weiß nicht warum. Und ja ich weiß ich soll nicht ActiveWorkbook nutzen. :)

Bis zur Spalte Q ist alles immer gleich. Ab Spalte R kommen dann je Report noch ein paar mehr Spalten zu. Und er soll dann natürlich die letzte nehmen.

Visual Basic:
Sub Spalten_einrichten()

Dim lastCol As Long
Dim lastRow As Long
Dim source As Worksheet

Set source = ActiveWorkbook.Worksheets("Tabelle1")

lastRow = xlsGetLastRow(source)
lastCol = xlsGetLastCol(source)

         With source
            .Columns("A:A").ColumnWidth = 10.8
            .Columns("B:B").ColumnWidth = 12
            .Columns("C:C").ColumnWidth = 9.67
            .Columns("D:D").ColumnWidth = 10.22
            .Columns("E:E").ColumnWidth = 10.56
            .Columns("F:F").ColumnWidth = 15.11
            .Columns("G:G").ColumnWidth = 13.56
            .Columns("H:H").ColumnWidth = 9.56
            .Columns("I:I").ColumnWidth = 10.33
            .Columns("J:J").ColumnWidth = 9.4
            .Columns("K:K").ColumnWidth = 7.22
            .Columns("L:L").ColumnWidth = 18.56
            .Columns("M:M").ColumnWidth = 18.89
            .Columns("N:N").ColumnWidth = 11.33
            .Columns("O:P").ColumnWidth = 38.33
            .Columns("Q:Q").ColumnWidth = 14.89
            .Columns.Cells(18, lastCol).ColumnWidth = 11.5
            .Rows("1:2000").AutoFit
            .Columns.Range("A1", Cells(lastRow, lastCol)).WrapText = True
            .Columns.Range(Cells(1, 1), Cells(1, lastCol)).Interior.ColorIndex = 6
            .Columns.Range(Cells(1, 1), Cells(1, lastCol)).Font.Bold = True
        End With
End Sub
 

Yaslaw

n/a
Moderator
Hast du bei den anderen 4 Sheets jeweils am Ende noch in irgend einer Zeile weiter hinten noch etwas stehen?
 

jerry0110

Erfahrenes Mitglied
Ein automatischer Export erstellt eine CSV mit immer der gleichen Spaltenanzahl je Report.
Und in den Zeilen steht nie was. Er verlängert aber immer bei 4 Reports zwischen 1 und 3 Spalten.
 

jerry0110

Erfahrenes Mitglied
so ich habe jetzt mal alles komplett kontrolliert. Es haben ein paar Schlauberger, in Texten Leerzeichen mit " ; " getrennt.
Deshalb habe ich nix gefunden. Und darum waren auch die 1-3 Spalten zu viel.
 

jerry0110

Erfahrenes Mitglied
Ne von Hand geht das nicht. Wir haben hier ein Datenbanktool, wo Felder angelegt werden können. (CallCenter Toll).
Mit einer Art Cronejob kann man dann aus der Datenbank sich Reports rausziehen. Wenn jetzt aber in einem Textfeld jemand ein ";" geschrieben hat, dann ist schon alles vorbei. Und wenn dann noch nur ein Leerzeichen zwischen zwei ";" gesetzt wurde dann kann man alles vergessen.
Aber es wird automatisch vom System gezogen.
 

Neue Beiträge