Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

zelle mit zeilenumbruch auslesen





Frage

Hallo Leute ich habe da ein Problem ich haben in einer Zelle den eintrag Firam Adresse Ort angaben sind immer mit einem CHR 10 getrennt. nun muss ich die in ein PDF Formular eintragen, wie kan ich nun die Firma auslens und in zwischenspeicher kopiren Anschlisend die Adresse und auch den ort da dise angbean auf dem PDF Form in je einer Seperaten zeile Stehen müsste ich das ja auch seperat Haben Vielen dank für euer hilfe Peter

Antwort 1 von nighty

hi peter :-)

hier ein beispiel zur trennung

gruss nighty

der string aus spalte a wird verteilt auf spalte b/c/d bzw. 2/3/4

einzufuegen
alt+f11/projektexplorer/allgemeinesmodul
Sub Verteilung()
Dim zaehler As Long
With Workbooks(1).Worksheets(1)
For zaehler = 2 To .Range("A" & Rows.Count).End(xlUp).Row
.Cells(zaehler, 2) = Sumtext(.Cells(zaehler, 1), 1)
.Cells(zaehler, 3) = Sumtext(.Cells(zaehler, 1), 2)
.Cells(zaehler, 4) = Sumtext(.Cells(zaehler, 1), 3)
Next zaehler
End With
End Sub


einzufuegen
alt+f11/projektexplorer/allgemeinesmodul
Function Sumtext(Zellen As Range, zaehler1 As Integer) As String
Dim Zelle As Range
Dim zeich1 As Integer
Dim schalter As Boolean
Dim zaehler3 As Integer
ReDim zaehler2(Len([Zellen])) As String
zaehler3 = 1
Application.Volatile
If zaehler1 > Len([Zellen]) Then zaehler1 = Len([Zellen])
For zeich1 = 1 To Len([Zellen])
If Mid([Zellen], zeich1, 1) Like "[A-Z;a-z;0-9;,.-_@]" = True Then
zaehler2(zaehler3) = zaehler2(zaehler3) & Mid([Zellen], zeich1, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], zeich1, 1) Like "[A-Z;a-z;0-9;,.-_@]" = False Then
zaehler3 = zaehler3 + 1
schalter = False
End If
Next zeich1
Sumtext = zaehler2(zaehler1)
End Function


Antwort 2 von pepe71

Hallo nighty

Habe das Makro Kopirt leuft auch ohen fehler aber er trägt keine Daten in die Zellen ein, was mache ich falsch?

Grüsse und schönen tag

Antwort 3 von nighty

hi pepe

welches sheet und spalte ist der text ?

welches sheet und spalten oder zeilen ,soll es hin ?

verbundene zellen waeren ein handicap

gruss nighty

Antwort 4 von pepe71

Guten Morgen nighty

Es handeld sich um Spalte B und immer um die Active Zelle.
und ich habe mir eigendlich gedacht das ich da ein Buttem mache den mir die einzelen teile in die Zwischen ablage Speichert damit ich sie nur noch mit ctrl V einfügen kann da weis ich aber noch nicht wie ich das machen kann.

grüsse Peter

Antwort 5 von nighty

hi peter :-)

da solche aufbauweise nicht so optimal ist,was haellst du davon nach spalte b 3 spalten einzufuegen und nach dem makrolauf spalte b zu loeschen ?

gruss nighty

Sub Verteilung()
rem deklarierung
Dim zaehler As Long
rem angabe des workbook wie worksheet
With Workbooks(1).Worksheets(1)
rem schleife die spalte b abtastet
rem 1 zeile ueberschriften ,daher beginn zeile 2
rem to automatisches abtasten auf ende der spalte a
For zaehler = 2 To .Range("B" & Rows.Count).End(xlUp).Row
rem zuweisung zu spalte 3/4/5 bzw. c/d/e vor dem =
rem nach dem = functionsaufruf auf spalte b bezogen ,die drei 2
rem die parameter 1/2/3 bei der function sind auf den 
rem jeweiligen block bezogen der angezeigt werden soll 
.Cells(zaehler, 3) = Sumtext(.Cells(zaehler, 2), 1)
.Cells(zaehler, 4) = Sumtext(.Cells(zaehler, 2), 2)
.Cells(zaehler, 5) = Sumtext(.Cells(zaehler, 2), 3)
Next zaehler
End With
End Sub


nun solltest du in der lage sein das makro anzupassen,deine idee solltest du verwerfen,weil zu aufwendig

hab es noch auf spalte b angepasst,function ist natuerlich zusaetztlich noch einzufuegen

Antwort 6 von pepe71

danke für die antwort
funktionirt besten dank
Peter