Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jakub Sobinovsky:29.12.2016 17:14

Zdravím potreboval by som poradiť.
Čo chcem aby to robilo:
Mám tu kód po ktorom chcem aby mi skopiroval tabulku a vytvoril ju na nový hárok, bolo by fajn keby hárky mali očíslovanie 1,2,3 atd
Čo mi to zatial robí:
Robí mi to to že mi vytvorí nový hárok s označením 2 a skopíruje tabulku, ale dalej sa nestane nič nevytvorí to nový hárok a ani to neskopiruje tabulku.
Do predu ďakujem za všetky rady.
Tu je kód:

Sub Tlačidlo1_Kliknúť()
Dim i As Integer
Dim e As Integer
Dim pocetListu As Integer
ThisWorkbook.Sheets("zoznam").Activate
pocetListu = Sheets.Count
For e = 1 To 4
i = 1
i = i + 1
Sheets.Add.Name = i
ThisWorkbook.Sheets("Hárok1").Activate
Range("A1:Q18").Select
Selection.Copy
ThisWorkbook.Sheets(i).Activate
Range("A1:Q18").Select
Selection.PasteSpecial
Next
End Sub
 
Odpovědět
29.12.2016 17:14
Avatar
zitekv
Člen
Avatar
Odpovídá na Jakub Sobinovsky
zitekv:29.12.2016 23:45

Ahoj,
Koukni na následující kód pozorně:

For e = 1 To 4
 i = 1
i = i + 1
Sheets.Add.Name = i

Tady je zakopán pes.
Pak budeš mít pravděpodobně ještě problém při výběru nového listu. Navrhoval bych si uložit jméno listu do proměnné ihned po vytvoření asi takto:

Sheets.Add.Name=i
pridanyList=ThisWorkbook.ActiveSheet.Name
.
.
.
ThisWorkbook.Sheets(pridanyList).Activate

Hodně zdaru.

Editováno 29.12.2016 23:47
 
Nahoru Odpovědět
29.12.2016 23:45
Avatar
Odpovídá na Jakub Sobinovsky
Libor Šimo (libcosenior):30.12.2016 9:37

Ahoj, pred rokmi som to použil.
Vytvoril som si nový zošit excel, v ňom som nechal len prvý list a nazval som ho vzor. Do neho som dal tabuľku, ktorú som chcel namnožiť.
makro:

Sub VlozenieTabuliek()
'
' VlozenieTabuliek Makro
'

'
    Dim i As Integer  ' deklarácia premennej typu int

    Application.ScreenUpdating = False ' pracuje na pozadí
    Cells.Select ' označenie celého listu v ktorom sa nachádzaš
    Selection.Copy ' skopírovanie do schránky
    For i = 1 To 3  ' cyklus 1 až 3
        Worksheets.Add After:=Worksheets(Worksheets.Count)  ' vytvor nový pracovný hárok
        Worksheets(Worksheets.Count).Name = i  ' s názvom i, teda 1 až 3
        Range("A1").Select ' aktivácia bunky A1 v novom liste
        ActiveSheet.Paste ' vloženie zo schránky
        Range("A1").Select ' aktivácia bunky A1 v novom liste, aby neostal označený (tmavý)
    Next i ' koniec cyklu
    Sheets("vzor").Select ' návrat na list vzor
    Application.CutCopyMode = False ' zrušenie oblasti kopírovania
    Range("A1").Select ' aktivácia bunky A1, aby neostal označený (tmavý)
    Application.ScreenUpdating = True ' koniec práce na pozadí

End Sub
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
30.12.2016 9:37
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Jakub Sobinovsky:30.12.2016 19:46

Super ide to :) Dakujem za všetky rady !

 
Nahoru Odpovědět
30.12.2016 19:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.