Thema Datum  Von Nutzer Rating
Antwort
Rot Nach 65 Zeichen trennen
07.12.2021 15:16:20 Sara
NotSolved
07.12.2021 20:50:19 xlKing
NotSolved
07.12.2021 21:17:42 Gast99851
NotSolved
08.12.2021 11:33:13 Mase
NotSolved
08.12.2021 13:14:14 Mase
NotSolved

Ansicht des Beitrags:
Von:
Sara
Datum:
07.12.2021 15:16:20
Views:
725
Rating: Antwort:
  Ja
Thema:
Nach 65 Zeichen trennen

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Nach 65 Zeichen trennen
07.12.2021 15:16:20 Sara
NotSolved
07.12.2021 20:50:19 xlKing
NotSolved
07.12.2021 21:17:42 Gast99851
NotSolved
08.12.2021 11:33:13 Mase
NotSolved
08.12.2021 13:14:14 Mase
NotSolved