Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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

wenn bestimmtes Zeichen dann kopieren

wenn bestimmtes Zeichen dann kopieren
09.04.2013 10:35:51
Fischer
Ich bin neu hier im Forum, und konnte bisher all meine Excel Probleme durch ein wenig im Internet stöbern selber lösen. Doch nun bin ich auf eure Fähigkeiten angewiesen, da ich nichts passendes finden konnte. Ich habe folgendes Problem:
Wenn in der Überschrift der Text "Position" steht, dann soll Excel alle Zeichen ("", "," und "-") in der Spalte "Position" trennen und in eine neue Zeile mit Spalten davor kopieren. Beim Bindestrich ist jedoch zu beachten, dass der Bindestrich durch die fehlenden Zahlen ersetzt werden muss (anstatt c1-c4 sollte es so aussehen: c1 c2 c3 c4)
So sieht z. B. meine Excel aus:
Spalte Spalte Spalte Spalte Position
Zeile Text1 Text2 Text3 Text4 a1 a2 a3 a4
Zeile Text5 Text6 Text7 Text8 b1, b2, b3, b4
Zeile Text9 Text10 Text11 Text12 c1-c4
Zeile Text13 Text14 Text15 Text16 d1
Und so sollte die Lösung aussehen:
Spalte Spalte Spalte Spalte Position
Zeile Text1 Text2 Text3 Text4 a1
Zeile Text1 Text2 Text3 Text4 a2
Zeile Text1 Text2 Text3 Text4 a3
Zeile Text1 Text2 Text3 Text4 a4
Zeile Text5 Text6 Text7 Text8 b1
Zeile Text5 Text6 Text7 Text8 b2
Zeile Text5 Text6 Text7 Text8 b3
Zeile Text5 Text6 Text7 Text8 b4
Zeile Text9 Text10 Text11 Text12 c1
Zeile Text9 Text10 Text11 Text12 c2
Zeile Text9 Text10 Text11 Text12 c3
Zeile Text9 Text10 Text11 Text12 c4
Zeile Text13 Text14 Text15 Text16 d1

Die Datei https://www.herber.de/bbs/user/84796.xls wurde aus Datenschutzgründen gelöscht


Ich hoffe Ihr könnt mir weiter helfen.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn bestimmtes Zeichen dann kopieren
09.04.2013 10:49:29
Klaus
Hi,
alles einfach, bis auf diesen Teil:
anstatt c1-c4 sollte es so aussehen: c1 c2 c3 c4)
Bevor ich jetzt loslege, bitte folgende Rückmeldungen:
  • ist der Buchstabe immer c, oder kann es auch x1-x4 sein?

  • ist es immer EIN Buchstabe, oder kann es auch Haus1-Haus4 sein?

  • ist der Index immer einstellig, oder kann es auch c1-c17 sein?

  • fängt es immer bei 1 an, oder kann es auch c5-c8 sein?

  • wenn es c5-c8 ist, ist die Lösung c5 c6 c7 c8. Richtig?

  • sind die Bezeichner immer gleich? Oder kann auch c1-d2 vorkommen?

  • wenn die Bezeichner nicht gleich sind, welche Lösung wird dann erwartet (am Beispiel c1-d2)?

  • was ist die seltsamste Kombination die vorkommen könnte? zB c17-Haus9011?

  • wenn ein "-" vorkommt, ist der Code dann immer Buchstabe/Wert/Strich/Buchstabe/Wert?
    Oder kann auch sowas vorkommen: c1-c4-c18? Wie ist dann die Lösung?

  • sind Kombinationen mit - und " " und "," möglich? Also "c4 - ,c5"?

  • Bitte alle Fragen beantworten, am besten meine Antwort Copy&Paste und dann immer deine Antwort unter die Zeile schreiben.
    Grüße,
    Klaus M.vdT.

    Anzeige
    AW: wenn bestimmtes Zeichen dann kopieren
    09.04.2013 11:07:29
    Fischer
    Bevor ich jetzt loslege, bitte folgende Rückmeldungen:
    ist der Buchstabe immer c, oder kann es auch x1-x4 sein?
    Es kann auch x1-x4 heißen
    ist es immer EIN Buchstabe, oder kann es auch Haus1-Haus4 sein?
    Es kann auch Haus1-Haus4 sein.
    ist der Index immer einstellig, oder kann es auch c1-c17 sein?
    auch hier kann es mehrstellig sein
    fängt es immer bei 1 an, oder kann es auch c5-c8 sein?
    es fängt nicht immer mit 1 an und kann wie von dir vermutet mit einer anderen Zahl beginnen
    wenn es c5-c8 ist, ist die Lösung c5 c6 c7 c8. Richtig?
    Ja
    sind die Bezeichner immer gleich? Oder kann auch c1-d2 vorkommen?
    die Bezeichnung ist immer gleich, jedoch kann es vorkommen, dass in einer Zeile z. b. "c1-c5 gefolgt von z. b. m6-m9 und r18 steht. Die Bezeichnungen werden dann auch immer durch ein Leerzeichen oder ein Komma getrennt. Das sieht dann z. B. so c1-c5 m6-m9 r18 oder so c1-c5, m6-m9, Haus18 aus.
    wenn die Bezeichner nicht gleich sind, welche Lösung wird dann erwartet (am Beispiel c1-d2)?
    Bezeichner ist immer identisch
    was ist die seltsamste Kombination die vorkommen könnte? zB c17-Haus9011?
    c1-c5 m6-m9 Haus18 oder so c1-c5, m6-m9, Haus18
    wenn ein "-" vorkommt, ist der Code dann immer Buchstabe/Wert/Strich/Buchstabe/Wert?
    Oder kann auch sowas vorkommen: c1-c4-c18? Wie ist dann die Lösung?
    sind Kombinationen mit - und " " und "," möglich? Also "c4 - ,c5"?
    durch ein leerzeichen könnte es evtl. getrennt sein. Statt c1-c15 könnte c1 - c15 stehen

    Anzeige
    bin dran
    09.04.2013 11:23:33
    Klaus
    Hi,
    du bekommst innerhalb der nächsten 48h eine Antwort von mir!
    Grüße,
    Klaus M.vdT.

    AW: bin dran
    09.04.2013 11:31:03
    Fischer
    Hi,
    du bekommst innerhalb der nächsten 48h eine Antwort von mir!
    Grüße,
    Klaus M.vdT.
    Das wäre echt super, wenn du das hinbekommst. Gruß Johannes

    Teillösung ohne das "-" Problem
    09.04.2013 14:35:37
    Klaus
    Hi Johannes,
    hier schon mal eine Teillösung, die alles macht ausser dem "-" Problem.
    https://www.herber.de/bbs/user/84800.xls
    Wie gesagt, der Teil war einfach.
    Immerhin bekomme ich
    "c1-c5 Haus18 Haus19" damit bereits aufgeteilt auf die Zeilen
    c1-c5
    Haus18
    Haus19
    Damit ist das Problem reduziert auf:
    "Wie mache ich aus C1-C5 die Zeichenkette "C1 C2 C3 C4 C5".
    Update folgt!
    Grüße,
    Klaus M.vdT.

    Anzeige
    gelöst (dirty, aber klappt!)
    09.04.2013 15:44:50
    Klaus
    Hi Johannes,
    diese Lösung ist nicht schön, aber sie funktioniert:
    https://www.herber.de/bbs/user/84803.xls
    Ich habe ein Makro geschrieben, dass die "a1 a2 a3" entsprechend deiner Vorgaben aufteilt. die "c2-c7" Teile bleiben übrig. Jene löse ich per ExcelFormeln in einem Hilfsblatt auf "c2 c3 c4 usw" auf und lasse dann das aufteilen-Makro NOCHMAL darüber laufen.
    Über eine Rückmeldung ob dir das soweit hilft freue ich mich.
    Grüße,
    Klaus M.vdT.
    Ehre wem Ehre gebührt: Ohne diese Formel
    http://www.excelformeln.de/formeln.html?welcher=101
    wäre ich nicht zum Ziel gekommen!

    Anzeige
    AW: gelöst (dirty, aber klappt!)
    10.04.2013 07:19:21
    Fischer
    Hallo Klaus,
    das ist der Hammer. Die Liste tut genau das, was es soll. Nun versuche ich dein VBA-Code in meine Live Datenbank zu übernehmen.
    Ich bin dir wirklich sehr dankbar.
    Gruß Johannes

    Danke für die Rückmeldung! mwT.
    10.04.2013 07:30:17
    Klaus
    Hi Johannes,
    freut mich geholfen zu haben!
    Nun versuche ich dein VBA-Code in meine Live Datenbank zu übernehmen.
    Das müsste relativ einfach sein, ich habe alle Tabellennamen / Zeilen / Spaltenangaben variabel gehalten und den Code relativ ausführlich kommentiert. Wenn du eh anpasst, irgendwo im Code steht noch ein "r.select", das kann gelöscht werden (ist vom Testen übrig geblieben).
    Gibts noch Fragen zu Codedetails, einfach wieder posten! Viel Erfolg!
    Grüße,
    Klaus M.vdT.

    Anzeige
    HILFE!!!
    10.04.2013 08:33:11
    Fischer
    Hallo Klaus,
    das hat ja nicht lange gedauert, bis ich mich wieder melde :-( Ich habe versucht dein VBA-Code in meine Excel einzufügen, allerdings bekomme ich nicht das gleiche Ergebnis wie in deiner Testdatenbank und ich weiß nicht woran es liegt.
    Ausserdem habe ich noch einen wichtigen Punkt vergessen. Es könnte passieren, dass ich 3 Positionstabellen habe. Hier sollte die gleiche Vorgehensweise sein, wie bei Position 1. Der Grund für die zwei weiteren Positionen ist, dass ich in der Datenbank in Position 1 nur eine bestimmte Anzahl an Zeichen vergeben kann. Sollte aber ein Teil öfters benötigt werden, so stehen mir zwei weitere Spalten zur Verfügung (Position 2 und Position 3). Ich habe mal einen Auszug aus der Live-Datenbank in eine Excel kopiert (mit deinem Code und den 2 weiteren Spalten). Wäre super wenn du mir sagen könntest, was ich beim VBA Code falsch gemacht habe und es wäre super, wenn die Spalten Position 2 und Position 3 in deinem VBA Code mit aufnehmen könntest.
    https://www.herber.de/bbs/user/84806.xls
    Grund Johannes

    Anzeige
    ruhig, die Feuerwehr ist da! AW: HILFE!!!
    10.04.2013 09:07:43
    Klaus
    Hallo Fischer,
    ich bin den Code im Einzelschrittmodus in deiner Liste durchgegangen.
    bekomme ich nicht das gleiche Ergebnis wie in deiner Testdatenbank und ich weiß nicht woran es liegt
    Deine Zellen sind als "TEXT" formatiert, daher werden von VBA eingefügte Formeln (in der Hilfstabelle) auch als TEXT ausgegeben statt als Formelergebniss. Damit gehts dann natürlich nicht weiter ... Lösung: die Hilfstabelle umformatieren, bevor die Formeln reingeschrieben werden! Läuft mit dieser Mod in deiner neuen Musterdatei korrekt durch.
    Sub TeileMitStrichAusloesen(wksMy As Worksheet)
    With wksMy
        .Cells.NumberFormat = "General"
    
    Ausserdem habe ich noch einen wichtigen Punkt vergessen.
    Johannes, meinen folgender Ausbruch bitte entschuldigen:
    Boah, wie schwer kann das sein eine VERNÜNFTIGE Mustertabelle zur Verfügung zu stellen, in der die Datenstruktur KORREKT ist? Aber nein, immer diese $W&(* Flickenschusterei!
    Entschuldige, das musste raus!
    Es könnte passieren, dass ich 3 Positionstabellen habe
    Könnte passieren oder ist so?
    Dein Muster, Zeile 47
    Spalte I: R6 R7 R18 R19 R20 R26-35
    Spalte J: R64,R65
    Was wird hier als Ergebnis erwartet? Wenn ich raten muss, würd ich sagen:
    R6
    R7
    R18
    R19
    R20
    R26
    [R27...R34]
    R35
    R64
    R65
    Richtig?
    Wenn dem so ist, würde ich "einfach" eine Hilfspalte machen. In deinem Beispiel Spalte L, Formelinhalt
    ab L2: =I2 & " " & J2 & " " & K2
    und dann das Makro über diese Hilfsspalte laufen lassen.
    Rückfragen an dich:
    In Zeile 50 steht
    I50: R46
    J50: 560R: AVAGO GELBE LED HSMU
    K50: A100-S00J1
    Nach der vereinbarten Logik kommt folgendes heraus:
    für I50:
    R46
    für J50:
    560R:
    AVAGO
    GELBE
    LED
    HSMU
    für K50:
    ERROR
    Das das Ergebniss für J50 korrekt ist kann ich mir kaum vorstellen. Ich will jetzt NICHT von dir hören: "Das Wunschergebnisss ist "560R: AVAGO GELBE LED HSMU" in einer Zeile"! Ich muss wissen, wie und nach welcher Logik sich ein Wert-Trennendes Leerzeichen von einem bezeichner-trennenden Leerzeichen unterscheidet!
    Über K50 könnte ich mich jetzt aufregen. Ich zitiere mal das dritte Posting dieses Threads:
    sind die Bezeichner immer gleich? Oder kann auch c1-d2 vorkommen? 
    die Bezeichnung ist immer gleich, 
    wenn die Bezeichner nicht gleich sind, welche Lösung wird dann erwartet (am Beispiel c1-d2)?  _
    
    Bezeichner ist immer identisch
    

    und jetzt haust du, einfach so und ohne Kommentar, ein A100-S00J1 in den Raum. Ich will nicht hören "In diesem Fall ist das - ein Teil eines Produktnamens!" sondern wissen, wie und nach welcher Logik ich - als Trenner von - als Teil eines Bezeichners unterscheiden kann!
    Auch schön, J74:
    WIRD LOSE SASSE BEIGESTELLT
    merkst du selbst, oder? das ergibt
    WIRD
    LOSE
    SASSE
    BEIGESTELLT
    wohl kaum im Sinne des Erfinders :-)
    Johannes, die wichtigste Frage überhaupt: Warum hast du das Ding, das ich jetzt sehe, nicht SOFORT als Musterdatei hochgeladen?
    Also, im großen und ganzen sehe ich das so:
    Deine Datenbasis selbst ist buggy und besch-eiden. In den "Positionen"-Spalten sind Einträge, die dort nichts zu suchen haben. Hier ist Handarbeit angesagt! Bringe deine Datenbasis in Ordnung. Das Makro läuft!
    (Die Änderungen - Hilfsspalte, eventuell per Makro erstellt, einfügen und die eine Zeile von oben für das Zellenformat einfügen - bekommst du selber hin, das muss ich nicht hochladen).
    Grüße,
    Klaus M.vdT.

    Anzeige
    ruhig, die Feuerwehr ist da! AW: HILFE!!!
    10.04.2013 09:36:06
    Fischer
    Deinen kleinen Ausraster kann ich verstehen. Ich hätte wirklich diese Excel als Test hernehmen sollen. Und daher möchte ich mich entschuldigen.
    Habe nun die Excel als Text formatiert und deine Formel für Zeile 47 eingefügt und es funktioniert.
    Rückfragen an dich:
    In Zeile 50 steht
    I50: R46
    J50: 560R: AVAGO GELBE LED HSMU
    K50: A100-S00J1
    Nach der vereinbarten Logik kommt folgendes heraus:
    für I50:
    R46
    für J50:
    560R:
    AVAGO
    GELBE
    LED
    HSMU
    für K50:
    ERROR

    Das ist okay so. Von allen Listen tritt dieser Fall nur bei etwa 2% auf. Damit kann ich leben :-)
    Eins muss ich dir lassen. Du hast es echt mit Excel drauf.
    Danke nochmal für deine Hilfe bedanken.
    Gruß Johannes

    Anzeige
    Danke für die Rückmeldung! owT.
    10.04.2013 09:55:04
    Klaus
    .

    338 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige