Hirdetés

Keresés

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

  • Fferi50

    Topikgazda

    válasz glocker #43633 üzenetére

    Szia!
    Nézd meg a következő makrót, ami az aktív munkalapra másolja a megnyitni kívánt fájl adatait az első sortól kezdődően. Utána a munkalapot egy új excel fájlba menti el, de az eredményt láthatod a munkalapon is. Az elmentett fájlt már megnyithatod.
    A makrót egyenlőre egy üres munkafüzetbe másold be egy modulba és mentsd el makróbarátként ezt a munkafüzetedet. (Alt+F11 - Insert menü - Module)
    Sub beolvaso()
    Dim fs As Integer, fnev As String, bestr As String, kistr As Variant, x As Long, valjel As String
     x = 1
    fs = FreeFile()
    fnev = "C:\Users\user\Downloads\makroteszt\Munka2.csv" ' ide írd a saját fájlod nevét
    ActiveSheet.UsedRange.ClearContents  'kitöröljük ami a lapon van
    Open fnev For Input Access Read As #fs
    Do While Not EOF(1)
    Line Input #1, bestr
    If x = 1 Then 'megállapítjuk az elválasztó jelet
       If InStr(bestr, ";") > 0 Then
          valjel = ";"
       Else
          If InStr(bestr, vbTab) > 0 Then
             valjel = vbTab
          Else
             If InStr(bestr, ",") > 0 Then
                valjel = ","
             End If
          End If
       End If
       If valjel = "" Then valjel = ";"
    End If
    kistr = Split(bestr, valjel)
    Range(Cells(x, 1), Cells(x, UBound(kistr) + 1)).Value = kistr
    x = x + 1
    Loop
    Close #1
    'A beolvasott fájlt elmentjük xlsx formátumban --ezeket a sorokat ki is törölheted
    ActiveSheet.Copy 'de akkor magadnak kell menteni a munkalapot
    ActiveWorkbook.SaveAs "C:\Users\user\Downloads\makroteszt\Munka22.xlsx" 'ide írod a saját neved
    ActiveWorkbook.Close False
    End Sub
    Természetesen megoldható az is, hogy a beolvasandó fájlt választani lehessen a szokásos módon.
    Ha bármi gondod keletkezik, írj, akár priviben is.
    Üdv.

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