Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Delila_1

    veterán

    válasz bozsozso #49224 üzenetére

    Pakliman 49226-os válaszánál az összefűzős sor legyen

    ki = "7000," & b & "_" & Format(Range("B" & i), "yyyy-mm-dd") & "," & Range("D" & i) * 1000 & ",," & Range("Y" & i) & ",,,"

    [ Szerkesztve ]

    Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

  • Pakliman

    tag

    válasz bozsozso #49224 üzenetére

    Szia!

    Egy lehetőség (sok [több ezer!] sor esetén kicsit lassabb):
    Az "utvonal" változóba beépíted az AD oszlopban lévő adatot.
    Pl.: utvonal = "E:\teszt\" & Cells(i, "AD") & "\".
    Ez után APPEND-el megnyitod az abban a mappában lévő "teszt.TXT" fájlt (ha nem létezik még, akkor az APPEND létrehozza!): Open DestFile For Append As #FileNum
    Beírod a megfelelő adatokat az ÉPPEN AKTUÁLIS sorból, majd RÖGTÖN LEZÁROD a fájlt!!!: Close FileNum
    Az Open előtt természetesen mindig FileNum = FreeFile()

    Célszerűbb szerintem inkább a For... Next ciklust használni, hiszen ismered az első és utolsó sor számát is.
    Sub Próba()
    Const sep = ","
    Dim utvonal As String
    Dim b As String
    Dim FileNum As Integer
    Dim DestFile As String
    Dim vLastRow As Long
    Dim ki As String
    Dim i As Long, j As Long

    vLastRow = Range("AD" & Rows.Count).End(xlUp).Row
    For i = 2 To vLastRow
    b = Cells(i, "AD")
    utvonal = "E:\teszt\" & b & "\"
    If Dir(utvonal, vbDirectory) = "" Then MkDir (utvonal)
    DestFile = utvonal & "teszt.TXT"
    FileNum = FreeFile()
    Open DestFile For Append As #FileNum

    ki = "7000" & sep & b & "_" & ". stb... amit akarsz..."
    Print #FileNum, Left(ki, Len(ki) - Len(sep))

    Close FileNum
    Next i
    End Sub

    A megfelelő mappa létezését pedig a DIR paranccsal tudod ellenőrizni. Ha nem létezik, letrehozod.

    [ Szerkesztve ]

Új hozzászólás Aktív témák