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

Inhalt UF-Listbox Export -zus. Header einfügen?

Inhalt UF-Listbox Export -zus. Header einfügen?
21.06.2007 11:24:49
Till
Hallo Leute,
habe zu demselben Thema schon extrem gute Hilfe von Franz und Daniel bekommen.
Hier der alte Thread: https://www.herber.de/forum/messages/878360.html
Nun würde ich gerne in die erste Zeile der Txt-Datei folgende Werte ebenfalls Tabulator getrennt schreiben lassen, bevor sie endgültig gespeichert wird:
Datum Uhrzeit Spurart qKfz [ 1/h] qLkw [ 1/h] Vmittel [km/h] B [%] LOS [A-F] qA [1/min] qB [1/min] qC [1/min] qD [1/min] qE [1/min]
Ich hab mir diese Header-Werte (also als Kopfzeile) mal in eine Zeile der geöffneten Arbeitsmappe geschrieben, aber irgendwie klappt das nicht.
Geht es evtl. auch ohne den Umweg, also indem man die Daten direkt an die TXT-Datei vor dem Speichern übergibt?
Hier mal mein Versuch:


Private Sub Image9_Click()
    MsgBox "Einen Moment bitte," & vbLf & "die Daten werden geschrieben.", vbInformation, " "
    Dim i As Long
    Dim j As Long
    Dim sFile$, stext$, sTime$, sSep$, ungueltig As Variant, sZusatz$, iFilenr
    iFilenr = FreeFile
    sSep = Chr(9)    'Chr(9) ohne "" falls TAB Separierung erwünscht! Sonst ";"
    sTime = Format(Now, "YYYYMMDD_hhmmss")
    'Arrayvariable mit den ungültigen/unschönen Zeichen in Dateinamen
    ungueltig = Array("""", "/", "\", ":", "|", "'", ".")
    With Verkehr.ListBox1
        'Zusatz für Dateinamen aus Listbox 2. Spalte, 1.Zeile
        If .ColumnCount >= 1 Then
            sZusatz = .List(1, 2)
            'Zusatz ggf. kürzen
            If Len(sZusatz) > 50 Then sZusatz = Left(sZusatz, 50)
            'Zusatz auf ungültige Zeichen prüfen und ggf. durch "_" ersetzen
            For i = LBound(ungueltig) To UBound(ungueltig)
                If InStr(1, sZusatz, ungueltig(i)) > 0 Then
                    sZusatz = Application.WorksheetFunction.Substitute(sZusatz, ungueltig(i), "_")
                    'sZusatz = Replace(sZusatz, ungueltig(i), "_") 'nur in neueren Excelversionen
                End If
            Next
        End If
        sFile = ThisWorkbook.Path & Application.PathSeparator _
              & "Datenexport_" & sTime & IIf(.ColumnCount >= 1, "_" & sZusatz, "") & ".txt"
        Open sFile For Output As iFilenr
        ' Einfügen von Spaltenheaderinfo in TXT-Datei
        Call Header 'fügt die Daten für die Headerinfo in die Zeile 40 des Sheets div_Diagramme ein
        Dim rng As Range
        Dim iRow As Integer, iCol As Integer, sTxt As String
        Set rng = Excel.Application.Worksheets("div_Diagramme").Range("B40:M40").CurrentRegion
        For iRow = 40 To 40
            For iCol = 2 To 13
                sTxt = sTxt & Cells(iRow, iCol).Value & sSep
            Next iCol
        Next iRow
        ' Ende Spaltenheader
        For i = 0 To .ListCount - 1
            stext = .List(i, 0)
            For j = 1 To .ColumnCount - 1
                stext = stext & sSep & .List(i, j)
            Next
            Print #iFilenr, stext
            stext = ""
        Next
        Close iFilenr
    End With
    MsgBox "Datei wurde angelegt:" & vbLf & sFile, vbInformation, " "
End Sub


Interessant ist hier lediglich was zwischen
' Einfügen von Spaltenheaderinfo in TXT-Datei
und
' Ende Spaltenheader
steht.
Danke schon mal!
Gruß Till

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt UF-Listbox Export -zus. Header einfügen?
21.06.2007 11:41:00
Rudi
Hallo,

Geht es evtl. auch ohne den Umweg


natürlich.


Call Header 


der Code wäre interessant.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Inhalt UF-Listbox Export -zus. Header einfügen
21.06.2007 12:37:06
Till
Hier der Inhalt von
Header:

Sub Header()
'Kopfzeileninfo für txtbox
Excel.Application.Worksheets("div_Diagramme").Range("B40").Select
ActiveCell.FormulaR1C1 = "Uhrzeit"
Range("C40").Select
ActiveCell.FormulaR1C1 = "Spurart"
Range("D40").Select
ActiveCell.FormulaR1C1 = "qKfz [1/h]"
Range("E40").Select
ActiveCell.FormulaR1C1 = "qLkw [1/h]"
Range("F40").Select
ActiveCell.FormulaR1C1 = "Vmittel [km/h]"
Range("G40").Select
ActiveCell.FormulaR1C1 = "B [%]"
Range("H40").Select
ActiveCell.FormulaR1C1 = "LOS [A-F]"
Range("I40").Select
ActiveCell.FormulaR1C1 = "qA [1/min]"
Range("J40").Select
ActiveCell.FormulaR1C1 = "qB [1/min]"
Range("K40").Select
ActiveCell.FormulaR1C1 = "qC [1/min]"
Range("L40").Select
ActiveCell.FormulaR1C1 = "qD [1/min]"
Range("M40").Select
ActiveCell.FormulaR1C1 = "qE [1/min]"
End Sub


Anzeige
AW: Inhalt UF-Listbox Export -zus. Header einfügen
21.06.2007 12:58:12
Rudi
Hallo,
sollte so klappen:

Private Sub Image9_Click()
MsgBox "Einen Moment bitte," & vbLf & "die Daten werden geschrieben.", vbInformation, " "
Dim strHeader As String
Dim i As Long
Dim j As Long
Dim sFile$, stext$, sTime$, sSep$, ungueltig As Variant, sZusatz$, iFilenr
iFilenr = FreeFile
sSep = Chr(9)    'Chr(9) ohne "" falls TAB Separierung erwünscht! Sonst ";"
sTime = Format(Now, "YYYYMMDD_hhmmss")
'Arrayvariable mit den ungültigen/unschönen Zeichen in Dateinamen
ungueltig = Array("""", "/", "\", ":", "|", "'", ".")
With Verkehr.ListBox1
'Zusatz für Dateinamen aus Listbox 2. Spalte, 1.Zeile
If .ColumnCount >= 1 Then
sZusatz = .List(1, 2)
'Zusatz ggf. kürzen
If Len(sZusatz) > 50 Then sZusatz = Left(sZusatz, 50)
'Zusatz auf ungültige Zeichen prüfen und ggf. durch "_" ersetzen
For i = LBound(ungueltig) To UBound(ungueltig)
If InStr(1, sZusatz, ungueltig(i)) > 0 Then
sZusatz = Application.WorksheetFunction.Substitute(sZusatz, ungueltig(i), "_")
'sZusatz = Replace(sZusatz, ungueltig(i), "_") 'nur in neueren Excelversionen
End If
Next
End If
sFile = ThisWorkbook.Path & Application.PathSeparator _
& "Datenexport_" & sTime & IIf(.ColumnCount >= 1, "_" & sZusatz, "") & ".txt"
Open sFile For Output As iFilenr
' Einfügen von Spaltenheaderinfo in TXT-Datei
strHeader = "Uhrzeit;Spurart;qKfz [1/h];qLkw [1/h];Vmittel [km/h];B [%];LOS [A-F];qA [1/ _
min];qB [1/min];qC [1/min];qD [1/min];qE [1/min]"
strHeader = Replace(strHeader, ";", vbTab)
Print #iFilenr, strHeader
' Ende Spaltenheader
For i = 0 To .ListCount - 1
stext = .List(i, 0)
For j = 1 To .ColumnCount - 1
stext = stext & sSep & .List(i, j)
Next
Print #iFilenr, stext
stext = ""
Next
Close iFilenr
End With
MsgBox "Datei wurde angelegt:" & vbLf & sFile, vbInformation, " "
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Inhalt UF-Listbox Export -zus. Header einfügen
21.06.2007 14:34:42
Till
Hallo Rudi,
super....hat bestens geklappt.
Genau das war's!
Vielen Dank!
Gruß Till

AW: Inhalt UF-Listbox Export -zus. Header einfügen
21.06.2007 16:38:00
Till
Hallo Rudi,
mir ist da noch was fehlendes eingefallen.
Ich hab jetzt neben der 1. Listbox eine 2. Listbox stehen, da ich ja mit der 1. Listbox auf 10 Spalten limitiert bin.
Die 5 Spalten der 2. Listbox würde ich gerne auch noch in die selbe .txt-Datei "gepresst" haben, ohne auf das, was wir bisher haben zu verzichten.
Ist das auch noch möglich?
Letztendlich soll die TXT-Datei wie folgt aussehen:
Ganz oben die Header Informationen.
Danach Spalte 1-8 die Daten aus der Listbox 1 und rechts daneben in Spalte 9-13 die Daten aus der Listbox2.
Ich hoffe, wir stoßen damit nicht an die Grenzen von Excel?!
Danke schon mal!
Gruß Till

Anzeige
AW: Inhalt UF-Listbox Export -zus. Header einfügen
22.06.2007 18:30:40
.
ot

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige