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

  • bozsozso

    őstag

    Sziasztok,

    Szükségem lenne egy kis segítségre. Egy elég nagy excel fájlból kellene kiszednem pár adatot amiből txt-t kell előállítani. A txt-t sikerült makróval megcsinálni:

    Sub Próba()
    Dim b As String
    b = ThisWorkbook.Worksheets("Próba").Cells(2, 30)
    utvonal = "E:\teszt\" & b & "\"
        Dim FileNum As Integer
        Dim DestFile As String
        Dim vLastRow As Long
        Dim i As Long, j As Long
        Dim ki As String
      Const sep = ","
        ThisWorkbook.Sheets("Próba").Activate
        vLastRow = Range("AD" & Rows.Count).End(xlUp).Row
      i = 2
        Do
            DestFile = utvonal & "teszt.TXT"
            FileNum = FreeFile()
            Open DestFile For Output As #FileNum
            Do While i <= vLastRow
                ki = ""
                ki = "7000" & sep
                ki = ki & b & "_" & Left(Cells(i, 2), 10) & sep
                ki = ki & Cells(i, 4) & "000" & sep
                ki = ki & sep
                ki = ki & Cells(i, 25) & sep & sep & sep & sep
                Print #FileNum, Left(ki, Len(ki) - Len(sep))
                i = i + 1
          Loop
          Close FileNum
        Loop While i <= vLastRow
    End Sub

    Viszont ami problémám, hogy az "AD" oszlopban kb. 50-70 féle adat van ezért 50-70 féle txt-t kellene előállítanom, eszt most szűrés utáni másolással oldom meg, hogy már csak azok legyenek a táblában amire szükségem van és akkor mindent kiírhat a fájlba. Ezt úgy képzeltem el, hogy a megadott utvonalon létrehozom vagy létrehozza automatikusan a könyvtárat amit az "AD" oszlopból vesz ki, majd ebbe a könyvtárba elkészülhetne a teszt.txt fájl.
    A táblázatból ennyi oszlopra van szükségem ezért is rejtettem el a többit.


    Fenti képből kiindulva létrehozza az 5, 8 és 2 könyvtárakat majd a fenti kódban megadottak szerint az 5-ös könyvtárba a teszt.txt fájlt elkészíti.
    Hoppá a "B" oszlopot lehagytam, de abba dátum van idővel

    E:\teszt\5\teszt.txt tartlma:

    7000,5_2022-06-18,100000,,0.000,,,
    7000,5_2022-06-18,101000,,0.000,,,
    7000,5_2022-06-18,102000,,0.000,,,

    Előre is köszönöm a segítséget.

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