Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1180to1184
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie trenne ich diesen String

Wie trenne ich diesen String
ndheimann
Hallo Excel-Fachleute,
wie verteile ich diesen Text-String auf 4 Spalten:
12/2/0 10 Ich bringe Glück, Kaminfeger / Chimney Sweep Lager
Der Eintrag bis zum 1. Leerzeichen ist erledigt, 1. Spalte also kein Thema mehr.
Der Eintrag für die Spalte 2 steht zwischen dem 1. und 2. Leerzeichen (in Beispiel 10). Er ist aber nicht immer 2-stellig, kann auch 1-stellig oder 4-oder 5-stellig sein. Längenkriterium sind die Zeichen zwischen den beiden Leerzeichen.
Möchte dann eine Spalte 3 mit dem deutschen Namen (=bis /) und eine Spalte 4 für den englischen (= ab /).
Wer kann mir helfen?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
String-Trennung
17.10.2010 16:02:39
Backowe
Hi,
 ABCDE
112/2/0 10 Ich bringe Glück, Kaminfeger / Chimney Sweep Lager12/2/010Ich bringe Glück, KaminfegerChimney Sweep Lager

Formeln der Tabelle
ZelleFormel
B1=LINKS(A1;FINDEN(" ";A1)-1)
C1=TEIL(A1;FINDEN(" ";A1)+1;FINDEN(" ";A1;FINDEN(" ";A1)+1)-FINDEN(" ";A1)-1)*1
D1=TEIL(A1;FINDEN("##";WECHSELN(A1;" ";"##";2))+1;FINDEN("##";WECHSELN(A1;" ";"##";6))-FINDEN("##";WECHSELN(A1;" ";"##";2))-1)
E1=TEIL(A1;FINDEN("##";WECHSELN(A1;" ";"##";7))+1;FINDEN("##";WECHSELN(A1;" ";"##";9))-FINDEN("##";WECHSELN(A1;" ";"##";5))-1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Jürgen
Anzeige
AW: String-Trennung
17.10.2010 16:27:44
BoskoBiati
Hallo,
da habe ich auch noch was:
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDE
112/2/0 10 Ich bringe Glück, Kaminfeger / Chimney Sweep Lager12/2/010Ich bringe Glück, KaminfegerChimney Sweep Lager
2  10Ich bringe Glück, KaminfegerChimney Sweep Lager

ZelleFormel
B1=GLÄTTEN(LINKS(A1;SUCHEN(" ";A1)))
C1=TEIL(A1;SUCHEN(" ";A1)+1;SUCHEN(" ";A1;SUCHEN(" ";A1)+1)-SUCHEN(" ";A1))
D1=TEIL(A1;SUCHEN(" ";A1;SUCHEN(" ";A1)+1)+1;SUCHEN(" /";A1;SUCHEN(" ";A1;SUCHEN(" ";A1)+1)+2)-SUCHEN(" ";A1;SUCHEN(" ";A1)+1))
E1=TEIL(A1;SUCHEN("/";A1;SUCHEN(" ";A1)+1)+2;SUCHEN(" ";A1;SUCHEN("/";A1;SUCHEN(" ";A1)+1)+1)-SUCHEN(" ";A1;SUCHEN(" ";A1)+1)-2)
C2=GLÄTTEN(TEIL(A1;SUCHEN(" ";A1);SUCHEN(" ";A1;LÄNGE(B1)+2)-LÄNGE(B1)))
D2=GLÄTTEN(TEIL(A1;LÄNGE(B1)+LÄNGE(C1)+2;SUCHEN("/ ";A1)-LÄNGE(B1)-LÄNGE(C1)-2))
E2=GLÄTTEN(TEIL(A1;LÄNGE(B1)+LÄNGE(C1)+LÄNGE(D1)+3;99))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Gruß
Bosko
Anzeige
AW: Wie trenne ich diesen String
17.10.2010 17:10:22
Peter
Hallo,
per Makro z. B. so:
Option Explicit
Public Sub Aufteilen()
Dim sText  As String
Dim vTemp  As Variant
Dim iIndx  As Integer
   sText = "12/2/0 10 Ich bringe Glück, Kaminfeger / Chimney Sweep Lager"
   vTemp = Split(sText, " ")
   With ThisWorkbook.Worksheets("Tabelle1")
      .Range("A1:D1").ClearContents
      For iIndx = LBound(vTemp) To UBound(vTemp)
         If iIndx = 0 Then
            .Range("A1").Value = vTemp(0)
         ElseIf iIndx = 1 Then
            .Range("B1").Value = vTemp(1)
         ElseIf vTemp(iIndx) = "/" Then
            Exit For
         Else
            If Range("C1").Value = "" Then
               .Range("C1").Value = vTemp(iIndx)
             Else
               .Range("C1").Value = .Range("C1").Value & " " & vTemp(iIndx)
            End If
         End If
      Next iIndx
      Range("D1").Value = Trim(Mid(sText, InStrRev(sText, "/") + 1))
   End With
End Sub
Gruß Peter
Anzeige
AW: wenn mehrere Zeilen
17.10.2010 17:27:40
Peter
Hallo,
gibt es das in mehreren Zeilen, dann so:
Option Explicit
Public Sub Aufteilen()
Dim lZeile As Long
Dim vTemp  As Variant
Dim iIndx  As Integer
    
   With ThisWorkbook.Worksheets("Tabelle2") ' den Tabellenblattnamen ggf. anpassen!
      For lZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
         .Range("B" & lZeile & ":E" & lZeile).ClearContents
         vTemp = Split(.Range("A" & lZeile).Value, " ")
         For iIndx = LBound(vTemp) To UBound(vTemp)
            If iIndx = 0 Then
               .Range("B" & lZeile).Value = Trim(vTemp(0))
            ElseIf iIndx = 1 Then
               .Range("C" & lZeile).Value = Trim(vTemp(1))
            ElseIf vTemp(iIndx) = "/" Then
               Exit For
            Else
               If Range("D" & lZeile).Value = "" Then
                  .Range("D" & lZeile).Value = Trim(vTemp(iIndx))
                Else
                  .Range("D" & lZeile).Value = .Range("D" & lZeile).Value & " " & Trim(vTemp(iIndx))
               End If
            End If
         Next iIndx
         Range("E" & lZeile).Value = Trim(Mid(.Range("A" & lZeile).Value, _
            InStrRev(.Range("A" & lZeile).Value, "/") + 1))
      Next lZeile
   End With
End Sub
Gruß Peter
Anzeige
UDF
17.10.2010 17:22:14
Backowe
Hi,
 ABCDE
112/2/0 10 Ich bringe Glück, Kaminfeger / Chimney Sweep Lager12/2/010Ich bringe Glück, KaminfegerChimney Sweep Lager

Formeln der Tabelle
ZelleFormel
B1=Stringtrennung($A1;" ";1)
C1=--Stringtrennung($A1;" ";2)
D1=Stringtrennung($A1;" ";3;6)
E1=Stringtrennung(A$1;" ";8;10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Function Stringtrennung(Zelle As Range, Trennzeichen As String, Position1 As Integer, _ Optional Position2 As Integer) As String Dim Ergebnis As Variant Dim i As Integer Ergebnis = Split(Zelle, Trennzeichen) If Position2 = 0 Then Stringtrennung = Ergebnis(Position1 - 1) Else For i = Position1 To Position2 Stringtrennung = Stringtrennung & Ergebnis(i - 1) & " " Next Stringtrennung = Left(Stringtrennung, Len(Stringtrennung) - 1) End If End Function
Anzeige
AW: Wie trenne ich diesen String
17.10.2010 22:29:56
ndheimann
Hallo,
danke an dieser Stelle zunächst einmal allen Antwortern. Habe bisher den ersten Ansatz von Backowe ausprobiert. Der funktioniert bis auf einige besonders komplizierte Zeilen gut. Ich werde morgen auch die weiteren Lösungen ausprobieren und hier dann hier kurz berichten.
Nochmal vielen Dank...

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige