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

String aufteilen

String aufteilen
06.12.2014 11:00:42
Hartmut
Hallo,
zur Auswertung von Aufstellungen möchte ich einen String auseinanderreissen, welcher immer in dieser Form vorliegt :"A","B","C","D","E","F","G","H","I","J","K"
Die einzelnen Stringteile sollen der Reihe nach, beginnend in Spalte A, 2 Zeilen tiefer als die Position des Ausgangsstrings, abgelegt werden.
Das ist sicher sehr einfach, ich wäre froh, wenn trotzdem jemand eine Antwort gibt, sozusagen als Einstiegshilfe.
Besten Dank !

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Text-in-Spalten und transponieren
06.12.2014 11:16:38
Christian
Gruß
Christian

hab ich mal versucht, aber...
06.12.2014 11:28:44
Oberschlumpf
Hi Christian
...und wie "verschwindet" aus dem 1. Eintrag :"A" sowohl der : und auch die " ?
Außerdem sollen die Einträge ja immer eine Zeile überspringen.
Bei meinem Transpose-Versuch ershceinen die Einträge direkt untereinander.
Oder gibt es für deine Idee noch Optionen, die ich in "meinem" Excel 2003 nicht habe/nicht gefunden habe?
Ciao
Thorsten

hier eine VBA-Idee
06.12.2014 11:32:33
Oberschlumpf
Hi Hartmut
versuch mal:
https://www.herber.de/bbs/user/94241.xls
Du MUSST deinen String in Zelle B1 eintragen! - sonst funzt der Code nicht
(du hast nicht verraten, wo dein String steht, also hab ich ihn in B1 platziert)
In welcher Zeile sollen die Einträge beginnen? - du schreibst nur Spalte A - aber welche Zeile?
In meinem Code beginnen die Einträge in A1.
Hilfts?
Ciao
Thorsten

Anzeige
Hi Oberschlumpf,.... da stand doch was,..
06.12.2014 11:41:31
Matze
Hi Torsten,
..2 Zeilen tiefer als die Position des Ausgangsstrings
also Lrow ermitteln..
Gruß Matze

AW: Hi Oberschlumpf,.... da stand doch was,..
06.12.2014 11:52:49
Oberschlumpf
Hi Matze
"...als die Position des Ausgangsstrings..."
Und WO ist diese Position des ersten Eintrages?! :-)
Zumindest ich hab im Beitrag des Fragenden keine Angabe dazu gefunden.
ahhhh...DANKEE!!....jetzt, beim Beantworten deines Beitrages und vor allem beim Überlegen des Selbigen :-) hab auch ich verstanden....hehe
Natürlich kanns sein, dass in Hartmuts Spalte A schon Einträge vorhanden sind, und er einfach ab der nächsten, bzw übernächsten freien Zeile weitermachen will.
Nu ja, mein Denkergebnis + dein Hinweis stützen sich auf Vermutungen :-), daher lass ich meine VBA-Idee erst mal so und warte auf ne Antwort von Hartmut.
Ciao
Thorsten

Anzeige
AW: Hi Oberschlumpf,.... da stand doch was,..
06.12.2014 12:58:53
Hartmut
Besten Dank für die vorliegenden Beiträge.
Im Prinzip möchte ich immer zwei solcher Strings miteinander vergleichen.
Der erste steht dann in A1, der zweite in D1.
Das "A" des ersten Strings soll dann in B1 stehen, das "B" in B2 usw.
Die Teilstrings des zweiten Strings sollen in E1, E2 usw stehen.
Die Teilstrings enthalten Namen, z.B. :
Olak - Espírito Santo, Haivas, Kołodziejczak - Jeziorowski, Rogalewicz, Oajdea, Farkas, Bordt - Mainez García, Ciach.
Das Makro soll bei der aktuellen (aktivierten) Zelle anfangen zu arbeiten.
Wenn sich nochmals jemand die Mühe macht, weitere Tipps zu geben, bin ich sehr dankbar, aber auch jetzt schon möchte ich sagen, ich bin angenehm überrascht ! Vielen Dank allen "Antwortern" !

Anzeige
AW: Hi Oberschlumpf,.... da stand doch was,..
06.12.2014 14:40:20
Oberschlumpf
Tja Hartmut
lange Rede, viel Text, kurzer Sinn:
Zeig uns all das in einer Bsp-Datei.
Ciao
Thorsten

dann nur "Text-in-Spalten" ...
07.12.2014 09:20:35
Christian
ohne "Transponieren", Hartmut.
Als Trennzeichen wählst du Komma, Leerzeichen und den Bindestrich. Als Zielbereich A3.
Gruß
Christian

ich bin raus
06.12.2014 18:36:44
Oberschlumpf
Hi Hartmut
In deiner Beshcreibung steht was von Aufteilen untereinander....
Zitatauszug:
Das "A" des ersten Strings soll dann in B1 stehen, das "B" in B2 usw.
Die Teilstrings des zweiten Strings sollen in E1, E2 usw stehen

Deine Bsp-Datei zeigt aber die getrennten Worte nebeneinander.
Sorry, deine Textbeiträge UND Bsp-Datei passen NICHT zusammen.
Ich bin raus.
Ciao
Thorsten

Anzeige
prinzipiell so
06.12.2014 15:21:45
Christian
hallo Hartmut,
Das Makro soll bei der aktuellen (aktivierten) Zelle anfangen zu arbeiten.
OK - vorhandene Einträge in Spalte B und D werden dann aber ggf. überschrieben.
Bsp:

Option Explicit
Sub TestIt()
Dim vntA, vntB
Dim lngR As Long
lngR = ActiveCell.Row
vntA = Split(Replace(Cells(lngR, 1), """", ""), ",")
vntB = Split(Replace(Cells(lngR, 4), """", ""), ",")
If UBound(vntA) >= 0 Then
Cells(lngR, 2).Resize(UBound(vntA) + 1) = Application.Transpose(vntA)
End If
If UBound(vntB) >= 0 Then
Cells(lngR, 5).Resize(UBound(vntB) + 1) = Application.Transpose(vntB)
End If
End Sub

Gruß
Christian

Anzeige
Das geht sehr einfach mit einer benannten Fml, ...
06.12.2014 13:59:15
Luc:-?
…die die XLM-Fkt AUSWERTEN enthält, Hartmut;
1. alle Zellen auswählen, die die Ergebnisse enhalten sollen,
2. Namen definieren, zB AufstellVektor, und in seinen Bezug folgd Fml eintragen:
=AUSWERTEN(WECHSELN(WECHSELN(B5;",";".");":";"{")&"}") bzw
=AUSWERTEN("{"&WECHSELN(TEIL(A1;2;999);",";".")&"}")
3. in die 1.Zelle dann die Fml =AufstellVektor eintragen und als MatrixFml (mit Tasten [[strg][umsch]]+[enter]) abschließen (zu shen ist anschld {=AufstellVektor}.
Mit einer auf der vbFkt Evaluate basierenden UDF (wie zB nflgd Compute) wäre die Fml kürzer und könnte auch gleich in der Zelle angegeben wdn (Speicherung als .xlsm/b ist ohnehin in beiden Fällen erforderlich):
{=Compute("{"&TEIL(A1;2;999)&"}")}
(Hierzu vgl auch diesen Archiv-Beitrag!)
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Das geht sehr einfach mit einer benannten Fml, ...
06.12.2014 18:22:56
Hartmut
Danke, werde ich morgen mal probieren !

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige