Stránka 1 z 1

Makro padá do chyby

Napsal: 18 led 2012 20:02
od cmuch
Ahoj,
potřeboval bych radu, mám makro co mi kopíruje kadý řetí list z jednoho sešitu do druhého
když ěží v automatu tak se stvá , že metoda copy selhala ale když dám debug a pak dám pokračovat tak vesele pokračuje,
už nevím jak to jinak napsat.

Kód: Vybrat vše

Windows("sesit.xlsm").Activate

Do While fsh <= 199 ' cislo urcujici predposledni list pro export, posledni je o krok dal
    fsh = fsh + 3  ' kazdy treti se ulozi
    Sheets(fsh).Copy Before:=Workbooks(strExportNazev & ".xlsx").Sheets("List1")
    Windows("sesit.xlsm").Activate
    Sheets("menu").Select
Loop

poradí někdo?

Re: Makro padá do chyby

Napsal: 19 led 2012 08:37
od guest
Neuvádíte druh chyby. Třeba to jen prostě nestíhá.

Obecnější příklad (používá pole pro uložení názvů každého třetího listu a jednorázové kopírování):

Kód: Vybrat vše

Sub KazdyTretiKopie()

    Dim astrNazvyKopirovanychListu()
    Dim iPocetKopirovanychListu As Integer
    Dim i As Integer

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
   
    iPocetKopirovanychListu = Sheets.Count \ 3

    ReDim astrNazvyKopirovanychListu(1 To iPocetKopirovanychListu)

    For i = 1 To iPocetKopirovanychListu
        astrNazvyKopirovanychListu(i) = Sheets(3 * i).Name
    Next i

    Sheets(astrNazvyKopirovanychListu).Copy

    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True

End Sub

Re: Makro padá do chyby  Vyřešeno

Napsal: 31 led 2012 17:32
od cmuch
Tak jsem to musel celé předělat.
Hodně záleželo na jakem pc to běželo.
Cbyby byla Run time errot 1004, metoda copy třídy sheet selhala