Zu viele Zeichen in einer Zelle bei gegebener Spal

Bild

Betrifft: Zu viele Zeichen in einer Zelle bei gegebener Spal von: jorx
Geschrieben am: 31.03.2005 20:52:44

Hallo,

wir haben folgende Probleme:
Eine Excel-Tabelle mit immer der gleichen Anzahl an Zeilen auf einer DIN A4-Seite. Die letzte Zeile auf einer Seite muss immer bestehen bleiben. Nun werden Daten in die Tabelle importiert. Bei einer Zeilenzahl von 65 immer 64 Datensätze, da die letzte Zeile für anderes gebraucht wird und die ja auch nicht versetzt werden darf. Nun kommt es vor, dass in einer Zelle die Zahl der Zeichen bei den importierten Daten über die Spaltenbreite hinausgehen kann. Die Zeichen, die zuviel sind müssen in die Zelle darunter eingesetzt werden und dafür muss eine neue Zeile eingesetzt werden. Dafür schrieben wir ein Makro:

Dim länge As String
Dim t As Integer


Sub test()
t = 16
n = 255
For Each C In Worksheets(1).Range("C16:C18")
länge = C.Text
länge4 = Left(länge, 30)
If länge4 > "" Then
erste = Left(länge, 30)            'ersten 30 Buchstaben
rest = Mid(länge, 31, n)          'alles ab 31
Range("C" & CInt(t) & "").Select
ActiveCell.Value = erste
Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
Range("C" & CInt(t + 1) & "").Select
ActiveCell.Value = rest
End If
t = t + 1
Next C
End Sub


Bei diesem Makro wird jetzt aber eine leere Zeile zuviel eingefügt. Wie bekommen wir die wieder weg? Die letzte Zeile verschiebt sich außerdem jeweils nach unten, wenn vorher eine neue eingefügt wurde. Wie bekommen wir es hin, dass sie dann wieder jeweils eine Zeile höher gesetzt wird, damit z. B. die Zeile 65 die Zeile 65 bleibt? Und unser Makro funktioniert auch nur, wenn wir genau wissen, dass in der Zeile 16 unser Problem auftritt. Wie muss das Makro aber aussehen, damit es selbständig nach allen Zellen sucht, in denen eingefügter Text steht, der länger ist, als die Spaltenbreite es zulässt?
Vielen Dank schon mal für die Hilfe.
Bild


Betrifft: AW: Zu viele Zeichen in einer Zelle bei gegebener Spal von: jorx
Geschrieben am: 01.04.2005 15:27:04

Hallo,

vielleicht drückte ich mich zu kompliziert aus und deshalb reduziere ich unser Problem erst mal auf das Folgende:
Es werden Daten in eine Tabelle importiert. Nun kommt es vor, dass in einer Zelle die Zahl der Zeichen bei den importierten Daten über die Spaltenbreite hinausgehen kann. Die Zeichen, die zuviel sind müssen in die Zelle darunter eingesetzt werden und dafür muss eine neue Zeile eingesetzt werden. Dafür schrieben wir ein Makro:

Dim länge As String
Dim t As Integer


Sub test()
t = 16
n = 255
For Each C In Worksheets(1).Range("C16:C18")
länge = C.Text
länge4 = Left(länge, 30)
If länge4 > "" Then
erste = Left(länge, 30)            'ersten 30 Buchstaben
rest = Mid(länge, 31, n)          'alles ab 31
Range("C" & CInt(t) & "").Select
ActiveCell.Value = erste
Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
Range("C" & CInt(t + 1) & "").Select
ActiveCell.Value = rest
End If
t = t + 1
Next C
End Sub


Dieses Makro funktioniert soweit, aber es wird jetzt eine leere Zeile zuviel eingefügt. Wie bekommen wir die wieder weg?

Vielen Dank schon mal.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zu viele Zeichen in einer Zelle bei gegebener Spal"