Excel csv Datei importieren und bearbeiten
#11
Hallo Matthias,

kannst Du meine Vorschläge aus #2 umsetzen bzw. wird es damit was? Die beziehen sich ja auf die Anfangsfrage, wo noch kein Punkt als Trenner vorkam. Da ging es um einen zweiten Bindestrich.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#12
Ja das kann ich, danke. Dein Vorschlag ist gut. Ich bin gerade dabei es zu testen. Der Trenner ja, ob es jetzt ein Bindestrich ist oder ein Punkt (es ist beides) lässt sich sehr einfach im Code ergänzen.
Top
#13
nochmal vielen Dank für eure Hilfe. Der Code funktioniert leider nicht. Bitte versteht dass jetzt nicht falsch aber ich will das Orginal nicht hochladen, und die Beispieldatei versuche ich so gut wie möglich nachzubauen, eben so dass das wichtigste drin ist. In der csv Datei kommen sehr viele Sonderzeichen vor (diese sind leider notwendig). Es erscheint folgende Meldung: Anwendungs- oder Objektdefinierter Fehler, markiert wird

.Cells....
= Application.Transpose(Application.Transpose(arrTmp))


So; nun hab ich noch einen anderen Code gefunden der ähnlich aussieht und angeblich funktionieren soll, tut er aber nicht. Markiert wird wieder die gleiche Zeile.

Ich hänge es mal an, ich wäre sehr dankbar wenn ihr euch das mal kurz ansehen könntet.


.xlsm   Beispiel.xlsm (Größe: 23,74 KB / Downloads: 4)

.csv   CSV file.csv (Größe: 430 Bytes / Downloads: 5)

Gruß
Top
#14
Hallo Matthias,

kann den Fehler erst mal nicht nachvollziehen - siehe Bild.

   

Schaue mal in die Überprüfung für das:

lngLast

und

ActiveSheet.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1).Address

und

Application.Transpose(Application.Transpose(arrTmp))

ob das zusammenpasst oder vielleicht hier schon bei einem ein Fehler augegeben wird.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#15
Danke, der code ist richtig. Ich habe meine Orginal csv Datei ein bisschen verändert, doppelte Leerzeichen gelöscht und doppelte Kommas (,,). Das kommt nur einmal in jeder Zeile vor, die anderen (,) sind nicht doppelt. Jetzt hat es geklappt, aber das kann ich doch nicht jedesmal per Hand anpassen. Gibt es hierfür eine Lösung? Kann man den code entsprechend ändern?

Gruß
Top
#16
Hi,

um doppelte Leerzeichen und doppelte Kommata per Makro zu löschen (jeweils nur eines stehen zu lassen), kannst Du den Makrorekorder verwenden.

Also
  1. Rekorder einschalten
  2. den Tauschvorgang ",," zu "," sowie "_ _" zu "_" (mit "_" = ein Leerzeichen) durchführen
  3. Rekorder beenden
Dann
  • den Code hier zeigen oder
  • gleich den relevanten Teil in Dein bestehendes Makro einbauen oder
  • das aufgezeichnete Makro mit CALL aufrufen.
Top
#17
Danke, auf die Idee bin ich auch schon gekommen. Der code muss an die richtige Stelle eingefügt werden. Z. B. bei

Open strFileName For Input As #1 oder bei With ActiveSheet

Aufgezeichnet hab ich:

Columns("A:A").Select
Selection.Replace What:=",," Replacement:=",", LookAt:= xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Top
#18
Das ist nicht die beste Lösung, oder ich hab etwas vergessen. Der erste Vorschlag von schauan mit dem Befehl INSTR ist sicher besser. Ich hab noch ein kleines Problem beim einbauen in den Code.

Das ist die codezeile:

INSTR(INSTR(1, lngR, ",,") +1), lngR, ",")

Was ist hier falsch? Meine Zeichenkette ist lngR, die nach der gesucht wird, Suchzeichen ,,

Gruß
Top
#19
Hallöchen,

wenn Du zwei Suchzeichen hast, müsstest Du auch 2 addieren. INSTR liefert den Wert, wo Dein Suchzeichen beginnt. Deine Kommas stehen z.B. an Stelle 20 und 21. INSTR liefert 20.

+1 = 21. Ab Stelle 21 wird also bei +1 nach dem nächsten Komma gesucht - und prompt wird an Stelle 21 eins gefunden Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste