Sub TrennenNachXZeichen()
Dim Wort As String
Dim Cut As Integer
Dim i As Integer
Dim Wörter
Dim Zeile()
Dim a
Cut = 15
Wort = Cells(3, 4).Value
Wort = Application.WorksheetFunction.Substitute(Wort, vbLf, " ")
'trennen davor
ReDim Zeile(0)
a = 0
Wörter = Split(Wort, " ")
Zeile(0) = Wörter(0)
For i = 0 To UBound(Wörter) - 1
If Len(Zeile(a)) + Len(Wörter(i + 1)) > Cut Then
a = a + 1
ReDim Preserve Zeile(a)
Zeile(a) = Wörter(i + 1)
Else
Zeile(a) = Zeile(a) & " " & Wörter(i + 1)
End If
Next i
Cells(1, 4) = Join(Zeile, vbCrLf)
End Sub
Cells(1, 4) = Join(Zeile, vbCrLf)
Rows(2).Resize(UBound(Zeile)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Zeile = Application.Transpose(Zeile)
Cells(1, 4).Resize(UBound(Zeile)).Value = Zeile
Sub TrennenNachXZeichen()
Dim Wort As String
Dim Cut As Integer
Dim i As Integer
Dim Wörter
Dim Zeile()
Dim a
Cut = 15
Wort = Cells(3, 4).Value
Wort = Application.WorksheetFunction.Substitute(Wort, vbLf, " ")
'trennen davor
ReDim Zeile(0)
a = 0
Wörter = Split(Wort, " ")
Zeile(0) = Wörter(0)
For i = 0 To UBound(Wörter) - 1
If Len(Zeile(a)) + Len(Wörter(i + 1)) > Cut Then
a = a + 1
ReDim Preserve Zeile(a)
Zeile(a) = Wörter(i + 1)
Else
Zeile(a) = Zeile(a) & " " & Wörter(i + 1)
End If
Next i
Rows(4).Resize(UBound(Zeile)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Zeile = Application.Transpose(Zeile)
Cells(3, 4).Resize(UBound(Zeile)).Value = Zeile
End Sub
Sub TrennenNachXZeichen_Kuwer()
Const lngCut As Long = 15
Dim a As Long
Dim i As Long
Dim lngZ As Long
Dim vWoerter As Variant
Dim vZeile() As Variant
For lngZ = Cells(Rows.Count, 4).End(xlUp).Row To 3 Step -1
vWoerter = Split(Application.Substitute(Cells(lngZ, 4).Value, vbLf, " "), " ")
If UBound(vWoerter) > -1 Then
ReDim vZeile(0)
a = 0
vZeile(0) = vWoerter(0)
For i = 0 To UBound(vWoerter) - 1
If Len(vZeile(a)) + Len(vWoerter(i + 1)) > lngCut Then
a = a + 1
ReDim Preserve vZeile(a)
vZeile(a) = vWoerter(i + 1)
Else
vZeile(a) = vZeile(a) & " " & vWoerter(i + 1)
End If
Next i
If UBound(vZeile) > 0 Then
Rows(lngZ + 1).Resize(UBound(vZeile)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
vZeile = Application.Transpose(vZeile)
Cells(lngZ, 4).Resize(UBound(vZeile)).Value = vZeile
End If
End If
Next lngZ
End Sub
If Cells(lngZ, 8).Value = "26x52" Then
Const lngCut As Long = 13
ElseIf Cells(lngZ, 8).Value = "37x44" Then
Const lngCut As Long = 8
ElseIf Cells(lngZ, 8).Value = "26x140" Then
Const lngCut As Long = 20
End If
Sub TrennenNachXZeichen_2_Kuwer()
Dim a As Long, i As Long
Dim lngCut As Long, lngZ As Long
Dim vWoerter As Variant, vZeile() As Variant
For lngZ = Cells(Rows.Count, 4).End(xlUp).Row To 3 Step -1
vWoerter = Split(Application.Substitute(Cells(lngZ, 4).Value, vbLf, " "), " ")
If UBound(vWoerter) > -1 Then
ReDim vZeile(0)
a = 0
vZeile(0) = vWoerter(0)
Select Case Cells(lngZ, 8).Value
Case Is = "26x52"
lngCut = 13
Case Is = "37x44"
lngCut = 8
Case Is = "26x140"
lngCut = 20
Case Else 'wenn keines der anderen zutrifft
lngCut = 15
End Select
For i = 0 To UBound(vWoerter) - 1
If Len(vZeile(a)) + Len(vWoerter(i + 1)) > lngCut Then
a = a + 1
ReDim Preserve vZeile(a)
vZeile(a) = vWoerter(i + 1)
Else
vZeile(a) = vZeile(a) & " " & vWoerter(i + 1)
End If
Next i
If UBound(vZeile) > 0 Then
Rows(lngZ + 1).Resize(UBound(vZeile)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
vZeile = Application.Transpose(vZeile)
Cells(lngZ, 4).Resize(UBound(vZeile)).Value = vZeile
End If
End If
Next lngZ
End Sub
Dim anzahlGESAMT As Long, Anzahl As Long
Dim cell As Range, adr5 As Range, rws As Range
Dim anzahlGESAMT As Long, Anzahl As Long
' Tabelle auszählen
Set adr5 = Worksheets("EplSheet").Range("G2:G500" & Cells(Rows.Count, 1).End(xlUp).Row)
anzahlGESAMT = Application.WorksheetFunction.CountA(adr5)
With Worksheets("Druck")
For i = 0 To anzahlGESAMT - 1 ' x beliebige Wierderholung in 1er Reihenschritten
' Schildergröße: Druck Spalte H(8) aus EplSheet Spalte K(11) einlesen
.Cells(1 + i, 8).Value = Worksheets("EplSheet").Cells(2 + i, 11).Value
' Dim CharBMK As ?, CharSze As ?
Select Case Cells(anzahlGESAMT, 8).Value
'-------------------
Case Is = "26x52"
CharBMK = Chr(10) _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 8).Value
CharSze = Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ "3|" _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value
'-------------------
Case Is = "37x52"
CharBMK = Chr(10) _
+ Chr(10) _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 8).Value
CharSze = Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ "3|" _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value
'-------------------
'etc
Case Else 'wenn keines der anderen zutrifft
CharBMK = Chr(10) _
+ Chr(10) _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 8).Value
CharSze = Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value _
+ Chr(10) _
+ "3|" _
+ Worksheets("EplSheet").Cells(2 + i, 9).Value
End Select
' BMK: Druck Spalte C(3) aus EplSheet Spalte H(8) einlesen
.Cells(1 + i, 3).Value = CharBMK
' Schriftgröße Druck Spalte F(6) aus EplSheet Spalte I(9) einlesen
.Cells(1 + i, 6).Value = CharSze
Next i
'.
'.
End With
End Sub
Dim EinzelneWorte() As String, Text As String
Dim i As Integer, lastRow As Integer, intRow As Integer, intLastRow As Integer
Dim cell As Range, adr5 As Range, adr4 As Range, rws As Range
Dim anzahlGESAMT As Long, Anzahl As Long, GESAMT As Long
' Tabelle auszählen
Set adr5 = Worksheets("EplSheet").Range("G2:G500" & Cells(Rows.Count, 1).End(xlUp).Row)
anzahlGESAMT = Application.WorksheetFunction.CountA(adr5)
' Tabelle auszählen '(?) Versuch für die "Select Case" Schleife
Set adr6 = Worksheets("EplSheet").Range("K2:K500" & Cells(Rows.Count, 1).End(xlUp).Row)
GESAMT = Application.WorksheetFunction.CountA(adr6)
'ausser dem Lesen von Werten passiert alles auf dem Blatt "Druck"
With Worksheets("Druck")
.Range("B1:B100").ClearContents
.Range("B1:B100") = "0"
For GESAMT = Cells(Rows.Count, 4).End(xlUp).Row To 1 Step -1 '(?)
Dim CharBMK As String, CharSze As String
Select Case Cells(GESAMT, 8).Value '(?)
'-------------------
Case Is = "26x52"
CharBMK = Chr(10) _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 8).Value
CharSze = Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& "3|" _
& Worksheets("EplSheet").Cells(2 + i, 9).Value
Case Is = "37x52"
CharBMK = Chr(10) _
& Chr(10) _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 8).Value
CharSze = Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& "3|" _
& Worksheets("EplSheet").Cells(2 + i, 9).Value
'-------------------
'etc
Case Else 'wenn keines der anderen zutrifft
CharBMK = Chr(10) _
& Chr(10) _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 8).Value
CharSze = Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& Worksheets("EplSheet").Cells(2 + i, 9).Value _
& Chr(10) _
& "3|" _
& Worksheets("EplSheet").Cells(2 + i, 9).Value
End Select
Next GESAMT '(?)
For i = 0 To anzahlGESAMT - 1 ' x beliebige Wierderholung in 1er Reihenschritten
' BMK: Druck Spalte C(3) aus EplSheet Spalte H(8) einlesen
.Cells(1 + i, 3).Value = CharBMK
' Schriftgröße Druck Spalte F(6) aus EplSheet Spalte I(9) einlesen
.Cells(1 + i, 6).Value = CharSze
Next i
End Sub
End WithGruß, Uwe