Text aus Datenbank filtern in neuer Spalte ausgebe

Bild

Betrifft: Text aus Datenbank filtern in neuer Spalte ausgebe
von: Barbara
Geschrieben am: 26.02.2005 15:25:55
Hallo zusammen,
ich habe ein Leistungsverzeichnis mit einem langen Text. Ganz am Ende steht das Material und die Farbe, die sich von Artikel zu Artikel unterscheiden.
Text sieht so aus und steht in A1:
Weltzeituhr und Wetterstation mit transparentem Display, 16 Wettersymbole, Temperaturanzeige °C + °F, Luftfeuchtigkeitsanzeige, Anzeige von Wetterrekorden, eingebaute Sensoren, Weltzeit-Check, 18 Weltzeitzonen, Heimatzeitanzeige, 24-Std.-Modus oder AM/PM, Metall, silbermatt
Nun muss ich "Metall" in eine Spalte und "silbermatt" in eine weitere Spalte bekommen.
Problem: Ich habe ca. 20 verschiedene Materialien und natürlich 100te von Farben.
Natürlich habe ich schon =SUCHEN("Metall";A1;1) ausprobiert und mit der Teil-Formel wieder eingefügt.
Sicherlich kann ich doch nicht nur ein Material einfügen sondern tausende....
Wer kann mich dabei ein wenig unterstützen, ich bin mit meinem Latein am Ende.
.... Als kleinen Hintergrund... die Datenbank die ich bearbeite umfasst ca 6000 Artikel und mehr...
Lieben Dank für eure Tipps
übrigens... ich arbeite mit Excel 2000 und möchte nach Möglichkeit kein VBA
LG
Barbara

Bild

Betrifft: AW: Text aus Datenbank filtern in neuer Spalte ausgebe
von: Manfred
Geschrieben am: 26.02.2005 16:10:43
Hallo Barbara,
Ich gehe davon aus, daß die Daten aus einer Datenbank(Access oder ähnlichem) stammen.
Die Daten liegen wohl als Textdatei (.txt oder .csv) vor. Dann kann man diese Textatei
in Excel so importieren, daß automatisch die einzelnen Werte in Spalten aufgeteilt werden. Dabei ist nur zu beachten, daß das Komma als Feldseparator eingestellt wird.
(In Excel unter Daten - Externe Daten importieren ...)
Gruß Manfred
Bild

Betrifft: AW: Text aus Datenbank filtern in neuer Spalte ausgebe
von: Barbara
Geschrieben am: 26.02.2005 17:07:32
Hi Manfred,
das wäre der Idealfall. Hab ich schon probiert, aber die Artikeltexte sind alle unterschiedlich lang, sodass es nachher bei der Bearbeitung ein fürchterliches Chaos gibt. Manchmal steht das Material in Spalte C und manchmal in AA. Somit ist mir nicht weiter geholfen...
Vielleicht gibt es ja doch noch eine Lösung.
Vielen Dank
LG Barbara
Bild

Betrifft: AW: Text aus Datenbank filtern in neuer Spalte ausgebe
von: Manfred
Geschrieben am: 27.02.2005 07:16:29
Hallo Barbara,
Dann sehe ich nur noch die Möglichkeit über ein VBA-Programm:
Mach doch folgendes:
1. Gehe in Excel in "Extras" - "Makro" - "Makro" und gib dort im Makrofenster im oberen Textfeld einfach "xxx" ein und drücke dann die Schaltfläche "Bearbeiten". Hat nur den Sinn, damit du einfach in die VBA-Entwicklungsumgebung kommst.
2. Kopiere nachfolgenden Code nach "

Sub xxx()   End Sub
"

Sub Separieren()
    Dim Feld As Variant, i As Long, j As Integer, Länge As Integer, Anzahl As Integer
    Dim xx As Worksheet
    Set xx = Worksheets("Tabelle1")
  
    For i = 1 To 64000
'       In Spalte A müssen die Einträge nacheinander stehen - bei leerer Zelle wird abgebrochen
        If xx.Cells(i, 1) = "" Then Exit Sub
'         Textlänge feststellen
          Länge = Len(xx.Cells(i, 1))
          
          'Anzahl Felder feststellen
          Anzahl = 0
          For j = 1 To Länge
            If Mid(xx.Cells(i, 1), j, 1) = "," Then
                Anzahl = Anzahl + 1
            End If
          Next
'         Felder separieren
          Feld = Split(xx.Cells(i, 1), ",", , vbTextCompare)
'         Die letzten beiden Felder in Spalte B und C schreiben
          xx.Cells(i, 2) = Feld(Anzahl - 1)
          xx.Cells(i, 3) = Feld(Anzahl)
    Next
End Sub

3. Es wird vorausgesetzt, daß der zu seprierende Text in der Tabelle mit Namen "Tabelle1" und dort in der Spalte A steht.
4. Nach dem Abspeichern, kannst du über "Extras" - "Makro" - "Makro" den Makro "Separieren" markieren und mit der Schaltfläche "Ausführen" die Separierung durchführen. Der "vorletzte" Text (hier "Metall") steht dann in Spalte B und der letzte Text(hier "silbermatt") in Spalte C. Und das ist immer so egal wie lang der Text(wieviele Felder) in Spalte A ist. Es können bis zu 64000 Zeilen mit diesem Makro behandelt werden.
Gruß Manfred
Bild

Betrifft: AW: Text aus Datenbank filtern in neuer Spalte ausgebe
von: Barbara
Geschrieben am: 27.02.2005 09:04:52
Hi Manfred,
das ist ja super, es funktioniert! Denke ich muss mich damit wohl mit den Makros ein wenig auseinandersetzen, es gibt da bestimmt noch ne Menge, das mir meine Arbeit erleichtern wird.
Lieben Dank für deine Hilfe
Gruß Barbara
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Text aus Datenbank filtern in neuer Spalte ausgebe"