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
einzufuegen
alt+f11/projektexplorer/allgemeinesmodul
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 Subeinzufuegen
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 FunctionAntwort 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
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
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
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
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
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 Subnun 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
funktionirt besten dank
Peter

