Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel - Verketten ?

Excel - Verketten ?
26.10.2005 09:50:41
norbert
Hallo,
ich habe folgendes Problem.
Wir haben ein altes DOS-Programm, mit dem wir unsere Inventur einlesen können.
Bisher haben wir von der Software-Firma immer einen Scanner zur Verfügung gestellt bekommen, mit der wir die Inventur erfassen konnten. Leider ist die Software-Firma letztes Jahr in Insolvenz gegangen, so dass wir uns einen neuen (einfachen) Handscanner gekauft haben. Dieser liest die Daten einfach ein: EAN-CODE(Artikel-Nummer);Menge.
Leider kann unser Dos-Programm mit diesen Daten nichts anfangen.
Es benötigt die Daten in folgendem Format:
,EAN-CODE(Artikel-Nummer),Menge.00,,001,0,0,0
Beispiel
Daten aus Scanner gelesen: --- Daten, die benötigt werden:
2794282242866;58 --- ,2794282242866,58.00,,001,0,0,0
4002541365637;1 --- ,4002541365637,1.00,,001,0,0,0
4015532014018;130 --- ,4015532014018,130.00,,001,0,0,0
8421074372;1 --- ,8421074372,1.00,,001,0,0,0
9052907558;41 --- ,9052907558,41.00,,001,0,0,0
26635039659;3 --- ,26635039659,3.00,,001,0,0,0
Die Daten des Scanners, öffne ich im Excel als einfaches Textfile, ohne diese zu trennen. Somit stehen sie in der Zeile A1. Dieses habe ich auch schon manuell mit dem Befehl "verketten" gemacht und die Daten in einzelne Spalten abgelegt, aber das ist für meine Nachfolgerin zu kompliziert.
Könnte mir damit jemand helfen?
Vielen Dank schon einmal im voraus.
Gruß
Norbert

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel - Verketten ?
26.10.2005 10:08:04
Matthias
Hallo Norbert,
das muss gar nicht in die Tabelle eingelesen werden, oder?

Sub Konvertiere()
Dim fn
Dim fn2 As String
Dim ff1 As Integer, ff2 As Integer
Dim tmp As String
fn = Application.GetOpenFilename("Textdateien (*.txt),*.txt")
If fn = False Then Exit Sub
fn2 = WorksheetFunction.Substitute(fn, ".txt", "_neu.txt")
Debug.Print fn, fn2
ff1 = FreeFile
Open fn For Input As ff1
ff2 = FreeFile
Open fn2 For Output As ff2
Do While Not EOF(ff1)
Line Input #ff1, tmp
Print #ff2, "," & Split(tmp, ";")(0) & "," & Split(tmp, ";")(1) & ".00,,001,0,0,0"
Loop
Close #ff1
Close #ff2
MsgBox "Datei " & fn2 & " wurde erfolgreich erzeugt."
End Sub

Gruß Matthias
Anzeige
AW: Excel - Verketten ?
26.10.2005 10:13:51
bst
Auch Hallo,
ich würde das außerhalb von Excel lösen. Nimm irgendwas das Suchen & Ersetzen mit Regular Expressions kann. Z.B. geht mit SED - eine freie Win-Version gibt's hier http://unxutils.sourceforge.net/ - sowas:
sed "s/^\([0-9]*\);\([0-9]*\)$/,\1,\2.00,,001,0,0,0/" eanneu.txt
cu, Bernd
AW: Excel - Verketten ?
26.10.2005 10:46:44
UweD
Hallo
Ich würde das ganze per Makro verarbeiten lassen.

Sub Inventur()
Dim Datei$, WB, TXT$, LR#, I#, Neu$
Datei = "C:\temp\Scanner.txt" 'anpassen
TXT = ".00,,001,0,0,0"
Workbooks.OpenText Filename:=Datei
Set WB = Workbooks(Dir(Datei)).Sheets(1)
LR = WB.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
For I = 1 To LR
Neu = Format(Application.Substitute(WB.Cells(I, 1), ";", ","), "@")
WB.Cells(I, 1).Value = Neu & TXT
Next I
ActiveWorkbook.SaveAs Filename:="Neu" & Dir(Datei), FileFormat:=xlTextPrinter, CreateBackup:=False
ActiveWorkbook.Close savechanges:=False
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Excel - Verketten ?
26.10.2005 17:06:29
UweD
Hallo
Habs noch mal ergänzt

Sub Inventur()
Dim Pfad$, Datei$, Ext$, WB, TXT$, LR#, I#, Neu$
Pfad = "C:\temp\" 'anpassen
Datei = "Scanner" 'anpassen
Ext = ".txt" 'anpassen
TXT = ".00,,001,0,0,0"
Workbooks.OpenText Filename:=Pfad & Datei & Ext
Set WB = Workbooks(Datei & Ext).Sheets(1)
LR = WB.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
For I = 1 To LR
Neu = Format(Application.Substitute(WB.Cells(I, 1), ";", ","), "@")
WB.Cells(I, 1).Value = "," & Neu & TXT
Next I
ActiveWorkbook.SaveAs Filename:=Pfad & Datei & ".001", FileFormat:=xlTextPrinter, CreateBackup:=False
ActiveWorkbook.Close savechanges:=False
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Excel - Verketten ?
26.10.2005 16:55:34
norbert
Hallo,
vielen Dank für die zahlreichen Lösungsvorschläge.
Nein, das Endprodukt muss eine .001-Datei sein, die dann von dem Programm eingelesen werden kann. Das könnte ich notfalls noch manuell vornehmen.
@matthias G
Bei Deinem Lösungsvorschlag bin ich etwas überfragt, wie ich es ausführen muss.
Kannst Du mir mal das Programm nennen, mit dem ich es ausführen soll.
Sorry, wenn ich mich ein wenig dumm anstelle.
@bst
Leider konnte ich unter dem von Dir angegebenen Link das Proggie "SED" nicht finden.
Kannst Du mir bitte nochmals den genauen Download-Link nennen? Auch Dir Danke.
@uweD
Dein Makro hat (bis auf eine Kleinigkeit) wunderbar geklappt, nur das ich die erstellte Datei erst suchen musste, dann allerdings gefunden habe.
Kann man dort noch den Speicherort einpflegen (Ursprungsverzeichnis)?
Ausserdem muss VOR dem EAN-Code(Artikel-Nummer) auch noch ein "," (Komma)!
Wäre schön, wenn ihr mir damit auch noch helfen könntet. Danke
Anzeige
AW: Excel - Verketten ?
26.10.2005 20:36:05
Matthias
Hallo Norbert,
Excel starten, Alt-F11 zum Öffnen des VB-Editors.
dort im Menü Einfügen, Modul.
ins erscheinende Codefenster diesen Code reinkopieren (hab' ich angepasst wg. Endung .001):

Sub Konvertiere()
Dim fn
Dim fn2 As String
Dim ff1 As Integer, ff2 As Integer
Dim tmp As String
fn = Application.GetOpenFilename("Textdateien (*.txt),*.txt")
If fn = False Then Exit Sub
fn2 = WorksheetFunction.Substitute(fn, ".txt", ".001")
Debug.Print fn, fn2
ff1 = FreeFile
Open fn For Input As ff1
ff2 = FreeFile
Open fn2 For Output As ff2
Do While Not EOF(ff1)
Line Input #ff1, tmp
Print #ff2, "," & Split(tmp, ";")(0) & "," & Split(tmp, ";")(1) & ".00,,001,0,0,0"
Loop
Close #ff1
Close #ff2
MsgBox "Datei " & fn2 & " wurde erfolgreich erzeugt."
End Sub

VB-Editor wieder schließen, Mappe speichern.
Starten kannst du das Makro nun mit Alt-F8 (Extras, Makro.., Makros)
oder du verknüpfst irgend ein element mit dem Makro.
Gruß Matthias
Anzeige
AW: Excel - Verketten ?
28.10.2005 09:41:49
norbert
Hallo,
ich möchte mich gerne bei Euch allen für die Hilfe bedanken.
Muss gestehen, den Tipp von bst umgesetzt zu haben, obwohl
die anderen Lösungen auch korrekt waren.
Vielen dank nochmals an alle.
Gruß Norbert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige