Keresés

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

  • Delila_1

    veterán

    válasz Oly #26309 üzenetére

    Próba nélkül!

    Sub Csere()
    Dim utvonal As String, FN As String
    Application.DisplayAlerts = False

    utvonal = "F:\Eadat\" '*****
    FN = Dir(utvonal & "*.xlsx")

    Do While FN <> ""
    Workbooks.Open utvonal & FN
    Sheets(1).Select '*****
    Cells.Replace What:="régi szöveg", Replacement:="új szöveg", LookAt:=xlPart, _ '*****
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    ActiveWindow.Save
    ActiveWindow.Close
    FN = Dir()
    Loop

    Application.DisplayAlerts = True
    End Sub

    A makró az utvonal változóban megadott mappából sorban megnyitja az ott lévő, *.xlsx kiterjesztésű füzetet.
    A Sheets(1).Select sor ráállítja a füzetben lévő első lapra.
    A cserét az ezután következő, 3 soros utasítás végzi el, majd a megnyitott füzetet menti és bezárja.

    Három helyre tettem csillagokat, ahol az útvonalat, a megnyitott füzet első lapját, és a "mit cseréljen mire" szövegeket kell megváltoztatnod.

    A makrót léptetve próbáld ki 2 füzeten – VB szerkesztőben F8-cal léptetve, majd leállítva. Ha megfelel, a makró elejére beszúrhatsz egy sort, ami leállítja a képernyőfrissítést, ezzel gyorsítva a futást.

    Application.ScreenUpdating = False

    A makró végén ezt vissza kell állítani.

    Application.ScreenUpdating = True

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