Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
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
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Trennzeichen in Zeichenfolge (für csv) mit Makro

Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 08:32:01
Stefan
Guten Morgen,
ich benötige für einen bestehende Zeichenfolge Trennzeichen:
Bsp: von 1234561234123 zu 123456-1234-123 (Spalte A)
von 1234561234 zu 123456-1234 (Spalte B)
Dies soll über z.B. 5000 Zeilen erfolgen.
Dies muß als Makro gestaltet sein, da die xls anschießend in eine csv Datei konvertiert wird.
Danke!

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

Betreff
Datum
Anwender
Anzeige
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 08:45:03
grumble
willst du jetzt den ganzen code dafuer? oder nur tips wie man das anfaengt?
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 08:54:24
stefan
Hallo, der Hit wäre natürlich der gesamte Code (falls ev. schon in einer ähnlichen Form vorhanden, bzw. einen Anleitung zur Erstellung für einen VBA-Leihen)
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 09:04:48
grumble
also ich bau dir das mal schnell zusammen..
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 09:32:23
grumble
~f

Sub trennen()
Dim s, s2 As String
Dim i, j, m, pos As Integer
For m = 1 To 2 ' festlegen wieviele spalten (1 und 2 sind a und b)
For i = 1 To 3 ' festlegen wieviele zeilen (jetzt sinds 3)
s2 = ""
s = ""
j = 0
s = Cells(i, m).Value  ' lesen spalte m
pos = 1
Do While pos > 0
pos = 0
pos = InStr(2, s, "1", 1)     ' suche nach erstenm vorkommen einer 1 nach dem ersten zeichen
If pos > 1 Then
j = j + 1
If j = 1 Then
s2 = Mid(s, 1, pos - 1)       ' schreibt teil vor 1 in s2
Else
s2 = s2 & "- " & Mid(s, 1, pos - 1)
End If
s = Right(s, Len(s) - pos + 1)  ' schreibt rest in s
End If
Loop
Cells(i, m + 4).Value = s2 & "-" & s ' (m+x gibt die spalte an wo es hinsoll , hier spalte a nach e und b nach f)
Next i
Next m
End Sub

f~
so gehts.. achte auf die kommentare... wenn was unklar frage bitte
gruss grumble
Anzeige
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 09:41:07
stefan
Sag vorerst mal Danke, werd das Ganze mal ausprobieren!!
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 10:03:31
Stetan
Hallo, für das Prinzip 123... funktioniert es!
Es sollte jedoch noch einer bestimmten Anzahl von Zeichen erfolgen (da es sich um numerische und alphnumerische Zeichensätze handelt: zB: 50AE01...
z.B.: nach 6 Zeichen, nach 10 zeichen nach 13 zeichen ein Trennstrich
Danke nochmal!!!
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 10:08:49
grumble
achso :) ich dachte trennkriterium waere eine 1 :)
ist das fest fuer alle beiden spalten nach dem 6.,10. und 13 zeichen? also 3 trennungen - 4 spalten in der csv?
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
03.11.2004 10:16:31
stefan
Spalte a;Spalte b
50AE01ST01010; 50AE01ST01
Resultat sollte sein:
50AE01-ST01-010; 50AE01-ST01
Hoffe du kennst dich jetzt aus - danke dir!
Anzeige
AW: Trennzeichen in Zeichenfolge (für csv) mit Makro
grumble
nochmal das ganze, funktioniert aber nur fuer dein beispiel, d.h. die stellen der trennung muessen immer die selben sein
&ltpre&gt
Sub trennen()
Dim s, s2 As String
Dim i, j, m, pos As Integer
For m = 1 To 2 ' festlegen wieviele spalten (1 und 2 sind a und b)
For i = 1 To 4 ' festlegen wieviele zeilen (jetzt sinds 3)
s2 = ""
s = ""

s = Cells(i, m).Value ' lesen spalte m
s2 = Mid(s, 1, 6) ' schreibt ersten 6 zeichen in s2
s = s2 & "-" & Right(s, Len(s) - 6) ' schreibt s2 und rest in s
If m = 1 Then
s2 = Mid(s, 1, 11) ' schreibt ersten 13 zeichen in s2
s = s2 & "-" & Right(s, Len(s) - 11) ' schreibt s2 und rest in s
End If
Cells(i, m + 4).Value = s ' (m+x gibt die spalte an wo es hinsoll , hier spalte a nach e und b nach f)
Next i
Next m

End Sub&lt/pre&gt
Anzeige
AW: Teilweiese erfolgreich!!
03.11.2004 11:24:57
Stefan
1. Teil funktioniert: Spalte a in Spalte e,
Spalte b wird jedoch nicht in Spalte f angezeigt!
Danke und Mahlzeit!
AW: Teilweiese erfolgreich!!
03.11.2004 11:37:32
grumble
bei mir klappts
hast du auch nichts geaendert? also m von 1 bis 2 und i von 1 bis zeilenanzahl?
AW: Senstionell - vollkommen erfolgreich!!
03.11.2004 12:15:38
stefan
So nun funktioniert alles einwandfrei, hab einen kleinen Fehler von mir übersehen!
Danke für deine Hilfe, jetzt bin ich bereit für meine csv Dateien!!
Noch einen schönen Tag!
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige