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

tabellenblat abspeichern , als trennzeichen

tabellenblat abspeichern , als trennzeichen
21.02.2007 21:22:00
Swen
Moin an alle,
ich habe folgenden code aus dem forum,

Sub TabellezuCad()
'am 20.02.2007 überarbeitet
Dim smsg As String, spath As String
Dim iCol As Integer, iRow As Long, strTmp As String
If Worksheet_suchen("cad") = True Then
Worksheets("cad").Select
smsg = "Wo soll die Datei abgelegt werden ?"
spath = ordner(smsg)
If spath <> "" Then strTempFolder = spath
strName = Worksheets("Coordinates").Cells(1, 7).Value
'** Es wird eine Tabelle in eine cad/txt Datei gespeichert
Open strTempFolder & strName & ".cad" For Output As #1
With ThisWorkbook.Sheets("cad")
For iRow = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
strTmp = ""
For iCol = 1 To .Cells(iRow, Columns.Count).End(xlToLeft).Column
strTmp = .Cells(iRow, iCol) & vbTab
Next iCol
strTmp = Left(strTmp, Len(strTmp) - 1)
Print #1, strTmp
Next iRow
End With
Close #1
End If
End Sub

diesen verstehe ich aber noch nicht!
Ich möchte diesen gerne dahin gehend ändern das die datei gespeichert wird und
das trennzeichen ein , ist!
Wie muss ich diesen code ändern und kann mir evtl. jemand den einen oder
anderen kommentar in den code zur erklärung dzu schreiben.
vielen dank!
gruß
swen

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 21:30:00
Ramses
Hallo
Anstelle von
strTmp = .Cells(iRow, iCol) & vbTab
schreib
strTmp = .Cells(iRow, iCol) & ","
Erklärung des Codes spare ich mir weil sinnlos da dir das Wort "Feedback" nicht bekannt ist.
Gruss Rainer
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 21:38:30
Swen
moin rainer,
danke für die antwort,
das mit dem feedback finde ich etwas unfair,
ich habe schon einige fragen hier gestellt bei den fragen in den letzten 3 tagen bin ich noch nicht dazu gekommen. da ich im moment beruflich sehr eingespannt bin!
sorry!
ich gebe eigentlich immer feedback!
gruß
swen
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 21:44:42
Swen
hallo an alle habe mich für die variante von rainer etnschieden,
verstehe sie aber noch nicht ganz!
gruß
swen
Anzeige
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 21:46:00
Swen
soory der thraed davor war hier falsch! jetzt wollte ich es mit dem feedback machen und schon rumpel ich voll rein gehörte als antwort in einen anderen thraed.
gruß
swen
Erklärung
21.02.2007 21:58:10
Ramses
Hallo
hoffentlich verständlich genug
Sub TabellezuCad()
    'am 20.02.2007 überarbeitet
    Dim smsg As String, spath As String
    Dim iCol As Integer, iRow As Long, strTmp As String
    'Prüfen ob das Sheet vorhanden ist
    If Worksheet_suchen("cad") = True Then
        'Wenn ja,... auswählen
        Worksheets("cad").Select
        'Frage nach Speicherort
        smsg = "Wo soll die Datei abgelegt werden ?"
        'Das verstehe ich auch nicht
        'scheint aber irgendwie zu funktionieren
        spath = ordner(smsg)
        'Prüfen ob die Variable "sPath" eine Inhalt hat
        'Warum dazu einen neue Variable ist mir allerdings schleierhaft
        If spath <> "" Then strTempFolder = spath
        'Variable mit einem Wert aus der Zelle G1 füllen
        strName = Worksheets("Coordinates").Cells(1, 7).Value
        '** Es wird eine Tabelle in eine cad/txt Datei gespeichert
        'Datei virtuell öffnen
        Open strTempFolder & strName & ".cad" For Output As #1
        'Bezugnehmen auf das Sheet damit die Befehle kürzer geschrieben werden können
        'dazu müssen die Verweise mit einem Punkt vorangesetzt werden
        With ThisWorkbook.Sheets("cad")
            'Festlegen der Zeile mit dem letzten Eintrag
            For iRow = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
                'Variable leer stellen
                strTmp = ""
                'festlegen der letzten beschriebenen Spalte in Zeile "iRow"
                For iCol = 1 To .Cells(iRow, Columns.Count).End(xlToLeft).Column
                    'Zusammensetzen der Werte der einzelnen Zellen
                    strTmp = .Cells(iRow, iCol) & ","
                Next iCol
                'Schreiben des Strings ohne das letzte Komma
                strTmp = Left(strTmp, Len(strTmp) - 1)
                'Schreiben in die virtuelle Datei
                Print #1, strTmp
            Next iRow
        End With
        'Virtuelle Datei schliessen
        Close #1
    End If
End Sub

Gruss Rainer
Anzeige
AW: Erklärung
21.02.2007 22:02:00
Swen
vielen dank für die erklärung!
gruß
swen
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 22:01:00
Swen
Hallo an Rainer hallo an alle,
ich habe aber noch ein problem!
mit der lösung von dir
dieses ist das original tabellenblatt
https://www.herber.de/bbs/user/40605.xls
als ergebnis bekomme ich folgendes wenn ich mir es in
dem editor anschaue
DEVICE NAME = #Test
PAD NUMBER = #5
INDEX SIZE X (1/1000) = #1000000
INDEX SIZE Y (1/1000) = #1000000
50000
50000
50000
50000
50000
haben möchte ich gerne:
DEVICE NAME = #Test
PAD NUMBER = #5
INDEX SIZE X (1/1000) = #1000000
INDEX SIZE Y (1/1000) = #1000000
1,-200000,0,60000,50000
2,-200000,200000,60000,50000
3,0,-200000,60000,50000
4,200000,-200000,60000,50000
5,-100000,-100000,60000,50000
was mache ich falsch!
so sieht mein makro inzwischen aus

Sub TabellezuCad()
'am 20.02.2007 überarbeitet
Dim smsg As String, spath As String
Dim iCol As Integer, iRow As Long, strTmp As String
If Worksheet_suchen("cad") = True Then
Worksheets("cad").Select
smsg = "Wo soll die Datei abgelegt werden ?"
spath = ordner(smsg)
If spath <> "" Then strTempFolder = spath
strName = Worksheets("Coordinates").Cells(1, 7).Value
'** Es wird eine Tabelle in eine cad/txt Datei gespeichert
Open strTempFolder & strName & ".cad" For Output As #1
With ThisWorkbook.Sheets("cad")
For iRow = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
strTmp = ""
For iCol = 1 To .Cells(iRow, Columns.Count).End(xlToLeft).Column
strTmp = .Cells(iRow, iCol) & ","
Next iCol
strTmp = Left(strTmp, Len(strTmp) - 1)
Print #1, strTmp
Next iRow
End With
Close #1
End If
End Sub

danke
swen
Anzeige
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 22:07:43
Ramses
Hallo
ändere mal die Zeile
Print #1, strTmp
in
Write #1, strTmp
Gruss Rainer
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 22:17:00
Swen
hallo rainer,
dann bekomme ich dieses
"DEVICE NAME = #Test"
"PAD NUMBER = #5"
"INDEX SIZE X (1/1000) = #1000000"
"INDEX SIZE Y (1/1000) = #1000000"
"50000"
"50000"
"50000"
"50000"
"50000"
gruß
swen
AW: tabellenblat abspeichern , als trennzeichen
21.02.2007 22:30:00
Ramses
Hallo
Die Zeile ist falsch
strTmp = .Cells(iRow, iCol) & ","
ändere das in
strTmp = strTmp & .Cells(iRow, iCol) & ","
und mach die Änderung rückgängig.
Also
Print #1, strTmp
statt
Write #1, strTmp
Dann stimmt das Ergebnis
Gruss Rainer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige