Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1204to1208
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
Inhaltsverzeichnis

Textdatei erstellen über Makro

Textdatei erstellen über Makro
cooler_kern
Hallo,
ich müsste mit einem Makro einfach die Spalte "A" in eine Textdatei speichern.
Kann mir jemand helfen?
Ich kenne mich leider mit Makros nicht so gut aus.
Danke......

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

Betreff
Benutzer
Anzeige
AW: Textdatei erstellen über Makro
24.03.2011 21:22:53
Reinhard
Hallo Kern,
kopiere doch A in eine leeres Blatt, dann verschiebste du dieses Blatt in eine neue Mappe und speicherst die als Text-datei.
Gruß
Reinhard
AW: Textdatei erstellen über Makro
24.03.2011 21:22:59
Jack
hallo
Dim objDoc As Object
input = deine werte
objDoc.SaveAs ("K:\test\test-Info-Buch\test1\" & Input)
lg
AW: Textdatei erstellen über Makro
24.03.2011 21:30:11
Josef

Hallo du Cooler,
so?
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub A_To_Textfile()
  Dim strFile As String, strTmp As String
  Dim rng As Range, rngC As Range
  
  strFile = "E:\Temp\A.txt" 'Ausgabedatei
  
  On Error Resume Next
  Set rng = Columns(1).SpecialCells(xlCellTypeConstants)
  On Error GoTo 0
  
  If Not rng Is Nothing Then
    Open strFile For Output As #1
    For Each rngC In rng
      strTmp = rngC.Text
      Print #1, rngC.Text
    Next
    Close #1
  End If
  
End Sub


Gruß Sepp

Anzeige
AW: Textdatei erstellen über Makro
24.03.2011 21:30:36
Uduuh
Hallo,
Sub A_speichern()
Open "c:\test.txt" For Output As #1
With Sheets(1)
Print #1, _
Join(WorksheetFunction.Transpose(.Range(.Cells(1, 1), _
.Cells(Rows.Count, 1).End(xlUp))), vbCrLf)
End With
Close #1
End Sub

Gruß aus’m Pott
Udo

AW: Textdatei erstellen über Makro
24.03.2011 21:51:38
cooler_kern
Hallo und erst mal danke für die Antworten.
Wie ich gerade festgestellt habe ist es doch nicht ganz so einfach wie vorhin beschrieben.
Ich gebe mal ein Beispiel wie es funktionieren soll:
In Spalte "A" ----------------------In Spalte "B"
[FileHeader]
SaveTime -----------------------23.03.2011 12:44
LoadTime -----------------------23.03.2011 10:02
[1]
DsIo --------------------------------1
XK_AXX_RETURNED --------------40,0
XK_AXX_ADVANCED -------------100,0
XK_AXX_INTSTOP1 ---------------20,0
XK_AXX_INTSTOP2 ---------------0,0
XK_AXX_INTSTOP3 ---------------10
(Die ------- sind nicht in den Spalten die sollen nur zum besseren Verständnis sein)
Die Textdatei sollte so ausschauen:
[FileHeader]
SaveTime=24.03.2011 11:00:56
LoadTime=24.03.2011 07:27:02
[1]
DsIo=1
XK_AXX_RETURNED=40.000000
XK_AXX_ADVANCED=100.000000
XK_AXX_INTSTOP1=20.000000
XK_AXX_INTSTOP2=0.000000
XK_AXX_INTSTOP3=10.000000
Ich muss also 2 Spalten zusammenführen mit = dazwischen
Und das , durch . ersetzen.
Währe echt super wenn Ihr mir da weiter helfen könntet
Anzeige
neue Frage
24.03.2011 21:57:40
Uduuh
Hallo,
warum fragst du das nicht gleich so?
Der Aufwand wäre ungefähr der gleiche gewesen.
Bin raus! Keine Lust, Codes für den Müll zu schreiben.
Gruß aus’m Pott
Udo

AW: neue Frage
24.03.2011 22:02:48
cooler_kern
Entschuldigung,
ich hab das vorhin übersehen.
Ist das so schlimm?
damit der Aufwand ...
24.03.2011 23:25:59
CitizenX
Hallo cooler
..von Udo und Sepp nicht umsonst waren,hab ich mal Ihre Codes aufgegriffen...
Es erleichtert die Sache ungemein wenn das Gesamtpaket vorgestellt wird ,ansonsten muss ständig nach gebessert werden.
teste mal:
Option Explicit

Sub Txt()
Dim i As Long
Dim lngLast As Long

With Sheets(1)
    lngLast = .Cells(Rows.Count, 1).End(xlUp).Row
    Redim myArray(1 To lngLast)
    For i = 1 To lngLast
    myArray(i) = IIf(.Cells(i, 1) = "", "", .Cells(i, 1) & "=" & _
                 IIf(IsDate(.Cells(i, 2)), .Cells(i, 2), _
                 Replace(Format(.Cells(i, 2), "0.0000"), ",", ".")))
    Next
    Open "C:\TestMappe.txt" For Output As #1
    Print #1, Join(myArray, vbCrLf)
End With

Close #1

End Sub

Grüße
Steffen
Anzeige
AW: damit der Aufwand ...
24.03.2011 23:53:34
cooler_kern
Hallo
herzlichen Dank schon mal das sieht schon recht gut aus.
Es gibt aber noch etwas das mich stört:
z.B. hinter [FileHeader] steht in der txt datei auch ein = ebenso hinter [1] das könnte Probleme machen
und es wird hinter jeder zahl der Punkt und die dezimal stellen gemacht.
es gibt aber auch zahlen die das nicht benötigen wie z.B: DsIo=1
ob man das wohl noch verbessern kann?
aber ist trotzdem mal sehr gut ich muss morgen mal ausprobieren vielleicht gehts ja trotzdem schon.
Gruß
cooler
evtl so ...
25.03.2011 10:47:30
CitizenX
Hallo
..mit der Bedingung, dass nur die "XK..." Werte formatiert werden.(Kommastellen ersetzen)
Option Explicit
Sub Txt()
Dim i As Long
Dim lngLast As Long

With Sheets(1)
    lngLast = .Cells(Rows.Count, 1).End(xlUp).Row
    Redim myArray(1 To lngLast)
    For i = 1 To lngLast
    myArray(i) = IIf(.Cells(i, 2) = "", .Cells(i, 1), .Cells(i, 1) & "=" & _
                 IIf(IsDate(.Cells(i, 2)), .Cells(i, 2), _
                 IIf(Mid(.Cells(i, 1), 1, 2) = "XK", _
                 Replace(Format(.Cells(i, 2), "0.000000"), ",", "."), .Cells(i, 2))))
    Next
    Open "C:\TestMappe.txt" For Output As #1
    Print #1, Join(myArray, vbCrLf)
End With

Close #1

End Sub
Grüße
Steffen
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige