Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verschiedene Begriffe aus Zelle extrahieren

Verschiedene Begriffe aus Zelle extrahieren
19.03.2008 13:39:36
Marky
Hallo liebe EXCEL-Spezialisten !
Ich habe folgendes Problem:
Ich habe in ein Excel File und möchte aus den Zellen der Spalte E, welcher sehr viel Text enthält folgende Begriffe in die Spalten daneben (also beginnend mit Spalte F ) extrahiert werden.
Herkunftsland: Türkei
Lieferant: Fa. XYZ
Produzent: Fa. ABC
Natürlich variieren die Suchparameter Türkei, Fa. XYZ, Fa. ABC; aber das Darstellungsformat in der Zelle ist immer dasselbe.
Um zu veranschaulichen, was ich genau meine bitte mein beigefügtes excel sheet ansehen.
https://www.herber.de/bbs/user/50851.xls
Vielen Dank im voraus
LG
Markus

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschiedene Begriffe aus Zelle extrahieren
19.03.2008 13:54:00
selli
hallo markus,
sieh dich mal im menü dateien - text in spalten um.
gruß selli

AW: Verschiedene Begriffe aus Zelle extrahieren
19.03.2008 14:01:15
Renee
Hi Markus:
Probier mal:

F4: =TEIL(E4;FINDEN("land: ";E4)+6;FINDEN("Lieferant: ";E4)-(FINDEN("land: ";E4)+6))
G4: =TEIL(E4;FINDEN("rant: ";E4)+6;FINDEN("Produzent: ";E4)-(FINDEN("rant: ";E4)+6))
H4: =TEIL(E4;FINDEN("zent: ";E4)+6;LEN(E4))


Allerdings dürfen die Suchbegriffe nicht 'im sehr langen variablen Text' vorkommen.
GreetZ Renée

AW: Verschiedene Begriffe aus Zelle extrahieren
19.03.2008 14:06:00
Peter
Hallo Marky,
so könnte es z. B. gehen


Option Explicit
Public Sub Extrahieren()
Dim WkSh       As Worksheet
Dim lZeile     As Long
Dim iPosition  As Integer
Dim iIndex     As Integer
   Application.ScreenUpdating = False
   Set WkSh = Worksheets("Tabelle1") ' <== den Tabellenblattnamen ggf. anpassen !!!
   For lZeile = 1 To WkSh.Cells(Rows.Count, 1).End(xlUp).Row
      iPosition = InStr(WkSh.Cells(lZeile, 1).Value, "Herkunftsland:")
      If iPosition > 0 Then
         WkSh.Cells(lZeile, 2).Value = ""
         For iIndex = iPosition + 14 To Len(WkSh.Cells(lZeile, 1).Value)
            If Mid(WkSh.Cells(lZeile, 1).Value, iIndex, 10) = "Lieferant:" Then
               Exit For
             Else
               WkSh.Cells(lZeile, 2).Value = WkSh.Cells(lZeile, 2).Value & _
                  Mid(WkSh.Cells(lZeile, 1).Value, iIndex, 1)
            End If
         Next iIndex
      End If
      iPosition = InStr(WkSh.Cells(lZeile, 1).Value, "Lieferant:")
      If iPosition > 0 Then
         WkSh.Cells(lZeile, 3).Value = ""
         For iIndex = iPosition + 10 To Len(WkSh.Cells(lZeile, 1).Value)
            If Mid(WkSh.Cells(lZeile, 1).Value, iIndex, 10) = "Produzent:" Then
               Exit For
             Else
               WkSh.Cells(lZeile, 3).Value = WkSh.Cells(lZeile, 3).Value & _
                  Mid(WkSh.Cells(lZeile, 1).Value, iIndex, 1)
            End If
         Next iIndex
      End If
      iPosition = InStr(WkSh.Cells(lZeile, 1).Value, "Produzent:")
      If iPosition > 0 Then
         WkSh.Cells(lZeile, 4).Value = _
            Mid(WkSh.Cells(lZeile, 1).Value, iPosition + 10)
      End If
   Next lZeile
   Application.ScreenUpdating = True
End Sub


Gruß Peter

Anzeige
AW: Verschiedene Begriffe aus Zelle extrahieren
19.03.2008 16:19:36
Peter
Hallo Marky,
noch eine Variante:


Public Sub Extrahieren_II()
Dim WkSh       As Worksheet
Dim lZeile     As Long
Dim iPosition  As Integer
Dim iIndex     As Integer
Dim aPrefix    As Variant
Dim iPrefix    As Integer
   Application.ScreenUpdating = False
   Set WkSh = Worksheets("Tabelle1") ' <== den Tabellenblattnamen ggf. anpassen !!!
   aPrefix = Array("Herkunftsland:", "Lieferant:", "Produzent:", "ßß")
   For lZeile = 1 To WkSh.Cells(Rows.Count, 1).End(xlUp).Row
      For iPrefix = 0 To UBound(aPrefix) - 1
         iPosition = InStr(WkSh.Cells(lZeile, 1).Value, aPrefix(iPrefix))
         If iPosition > 0 Then
            WkSh.Cells(lZeile, iPrefix + 2).Value = ""
            For iIndex = iPosition + Len(aPrefix(iPrefix)) To Len(WkSh.Cells(lZeile, 1).Value)
               If Mid(WkSh.Cells(lZeile, 1).Value, iIndex, Len(aPrefix(iPrefix + 1))) = _
                  aPrefix(iPrefix + 1) Or _
                  iIndex > Len(WkSh.Cells(lZeile, 1).Value) Then
                  Exit For
                Else
                  WkSh.Cells(lZeile, iPrefix + 2).Value = _
                  WkSh.Cells(lZeile, iPrefix + 2).Value & _
                     Mid(WkSh.Cells(lZeile, 1).Value, iIndex, 1)
               End If
            Next iIndex
            WkSh.Cells(lZeile, iPrefix + 2).Value = _
               Trim(WkSh.Cells(lZeile, iPrefix + 2).Value)
            WkSh.Cells(lZeile, iPrefix + 2).Value = _
               Replace(WkSh.Cells(lZeile, iPrefix + 2).Value, Chr(10), "")
         End If
      Next iPrefix
   Next lZeile
   Application.ScreenUpdating = True
End Sub


Gruß Peter

Anzeige
AW: Verschiedene Begriffe aus Zelle extrahieren
19.03.2008 22:01:13
Marky
Danke für eure Mühen ! Leider vergebens:
@ Renee: funktioniert nicht wirklich gut; als Ergebnis resultiert zwar z. B. der Begriff "Türkei" aber mit einem Sonderzeichen (Rechteck) nach dem Begriff ? Außerdem werden zwei Zellen miteinander verbunden F5 unf F6? Versteh ich nicht.
@Peter Feustel:
Deine Makros funktionieren überhaupt nicht; da passiert einfach nichts nichteinmal eine Fehlermeldung
Ich hoffe ihr könnt mir weiterhelfen
LG
Markus

AW: Verschiedene Begriffe aus Zelle extrahieren
20.03.2008 08:42:21
Renee
Hi Markus,
...leider vergebens
Na, dankeschön...

F4: =TEIL(E4;FINDEN("land: ";E4)+6;FINDEN("Lieferant: ";E4)-(FINDEN("land: ";E4)+7))
G4: =TEIL(E4;FINDEN("rant: ";E4)+6;FINDEN("Produzent: ";E4)-(FINDEN("rant: ";E4)+7))
H4: =TEIL(E4;FINDEN("zent: ";E4)+6;LÄNGE(E4))


...einem Sonderzeichen (Rechteck) nach dem Begriff
dann schränk halt die Länge um 1 mehr ein!
...werden zwei Zellen miteinander verbunden F5 unf F6
wie bitte? Wo, Was, Wie ?
Von jemandem, der sich mit Exel gut qualifiziert, dürfte frau etwas mehr Fähigkeiten erwarten, die Formeln zu verstehen!
GreetZ Renée

Anzeige
AW: Verschiedene Begriffe aus Zelle extrahieren
20.03.2008 20:58:26
Marky
Hallo Peter und Renee !
Vielen Dank für Eure Mühen; sowohl die Makro-Varianten von Peter als auch die Formel von Renee haben mein Problem gelöst.
@ Renee: Du magst vielleicht Recht haben mit der Tatsache, dass ich nicht der große Excel Spezialist bin; wenn ich´s wäre würde ich hier nicht um Hilfe bitten.
Nochmals herzlichen Dank an Euch beide und ein ich wünsche Euch ein schönes Osterfest !
LG
Markus
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige