Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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)
Antworten 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.
Antworten 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ß
Antworten 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)
Antworten 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ß
Antworten 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.
Antworten 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
Antworten 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ß
Antworten 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)
Antworten Top


Gehe zu:


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