Hallo,
ich komme leider nicht weiter und ich weiß nicht, wo und wie ich das Makro erweitern kann. Das Makro beschreibt folgendes: Der Text wird in Spalte G eingefügt, nach dem Textabsatz in untenliegender Zeile eingefügt. Dabei darf der Text nur maximal 65 Zeichen pro Zelle aufweisen. Das klappt auch alles super, jedoch klappt es nur bis 150 Zeichen. Wenn ein Text über 150 Zeichen aufweist, dann wird dieser leider nicht getrennt nach 65 Zeichen. Wie kann ich das Makro erweitern, sodass ich ich eine Zeichenzahl von maximal 600 Zeichen nach 65 Zeichen immer trennen kann.
Nachfolgend seht ihr das betreffende Makro:
With wb2.Worksheets(ws.Name)
lngLetzteZeile1 = wb2.Worksheets(ws.Name).Cells(Rows.Count, 2).End(xlUp).Row
lngLetzteZeile2 = wb2.Worksheets(ws.Name).Cells(Rows.Count, 4).End(xlUp).Row
Set ranBereich = .Range("D30:D" & lngLetzteZeile2)
For Each ranZelle In ranBereich
If ranZelle <> "" Then
varZelle1 = Split(ranZelle, Chr(10))
For lngZaehler2 = LBound(varZelle1, 1) To UBound(varZelle1, 1)
If varZelle1(lngZaehler2) <> "" Then
intZeile = Application.WorksheetFunction.RoundUp(Len(varZelle1(lngZaehler2)) / 65, 0)
Select Case intZeile
Case 1:
With wb1.Worksheets("long text")
lngLetzteZeile3 = .Cells(Rows.Count, 1).End(xlUp).Row
lngLetzteZeile4 = .Cells(Rows.Count, 2).End(xlUp).Row
lngLetzteZeile5 = .Cells(Rows.Count, 5).End(xlUp).Row
lngLetzteZeile6 = .Cells(Rows.Count, 7).End(xlUp).Row
.Cells(lngLetzteZeile3 + 1, 1).Value = Worksheets(ws.Name).Index
.Cells(lngLetzteZeile4 + 1, 2).Value = "1"
.Cells(lngLetzteZeile5 + 1, 5).Value = ranZelle.Offset(0, -2).Value
.Cells(lngLetzteZeile6 + 1, 7).Value = varZelle1(lngZaehler2)
End With
Case 2:
For lngZaehler3 = 1 To 2
With wb1.Worksheets("long text")
lngLetzteZeile3 = .Cells(Rows.Count, 1).End(xlUp).Row
lngLetzteZeile4 = .Cells(Rows.Count, 2).End(xlUp).Row
lngLetzteZeile5 = .Cells(Rows.Count, 5).End(xlUp).Row
lngLetzteZeile6 = .Cells(Rows.Count, 7).End(xlUp).Row
varZelle2 = Split(varZelle1(lngZaehler2), Chr(32))
varZelle3 = Left(varZelle1(lngZaehler2), 65)
varZelle3 = Split(varZelle3, Chr(32))
strZelle1 = ""
strZelle2 = ""
If Mid(varZelle1(lngZaehler2), 66, 1) <> " " Then
Select Case lngZaehler3
Case 1:
For lngZaehler4 = LBound(varZelle3, 1) To UBound(varZelle3, 1) - 1
If strZelle1 = "" Then
strZelle1 = varZelle3(lngZaehler4)
Else
strZelle1 = strZelle1 & " " & varZelle3(lngZaehler4)
End If
Next lngZaehler4
.Cells(lngLetzteZeile3 + 1, 1).Value = Worksheets(ws.Name).Index
.Cells(lngLetzteZeile4 + 1, 2).Value = "1"
.Cells(lngLetzteZeile5 + 1, 5).Value = ranZelle.Offset(0, -2).Value
.Cells(lngLetzteZeile6 + 1, 7).Value = strZelle1
Case 2:
For lngZaehler5 = UBound(varZelle3, 1) To UBound(varZelle2, 1)
If strZelle2 = "" Then
strZelle2 = varZelle2(lngZaehler5)
Else
strZelle2 = strZelle2 & " " & varZelle2(lngZaehler5)
End If
Next lngZaehler5
.Cells(lngLetzteZeile3 + 1, 1).Value = Worksheets(ws.Name).Index
.Cells(lngLetzteZeile4 + 1, 2).Value = "1"
.Cells(lngLetzteZeile5 + 1, 5).Value = ranZelle.Offset(0, -2).Value
.Cells(lngLetzteZeile6 + 1, 7).Value = strZelle2
End Select
Else
Select Case lngZaehler3
Case 1:
For lngZaehler4 = LBound(varZelle3, 1) To UBound(varZelle3, 1)
If strZelle1 = "" Then
strZelle1 = varZelle3(lngZaehler4)
Else
strZelle1 = strZelle1 & " " & varZelle3(lngZaehler4)
End If
Next lngZaehler4
.Cells(lngLetzteZeile3 + 1, 1).Value = Worksheets(ws.Name).Index
.Cells(lngLetzteZeile4 + 1, 2).Value = "1"
.Cells(lngLetzteZeile5 + 1, 5).Value = ranZelle.Offset(0, -2).Value
.Cells(lngLetzteZeile6 + 1, 7).Value = strZelle1
Case 2:
For lngZaehler5 = UBound(varZelle3, 1) + 1 To UBound(varZelle2, 1)
If strZelle2 = "" Then
strZelle2 = varZelle2(lngZaehler5)
Else
strZelle2 = strZelle2 & " " & varZelle2(lngZaehler5)
End If
Next lngZaehler5
.Cells(lngLetzteZeile3 + 1, 1).Value = Worksheets(ws.Name).Index
.Cells(lngLetzteZeile4 + 1, 2).Value = "1"
.Cells(lngLetzteZeile5 + 1, 5).Value = ranZelle.Offset(0, -2).Value
.Cells(lngLetzteZeile6 + 1, 7).Value = strZelle2
End Select
End If
End With
Next lngZaehler3
End Select
End If
Next lngZaehler2
End If
Next ranZelle
End With
Ich hoffe jemand kann mir weiterhelfen. Ich wäre total dankbar.
Sara
|