Zdravím,
prosím o pomoc. V kódu mám následující:
Sheets(AktivniList).Copy After:=Sheets(1)
Set ws = ActiveSheet
ws.Name = "Do práce"
Potřebuji kopii původního listu i s daty a přejmenovat. V Excelu 2013 není problém v Excelu 2016 to nezabírá. Má někdo nápad?
Děkuji
Přejmenování listu VBA Excel2016
Re: Přejmenování listu VBA Excel2016
Chybí tam závorky a v názvu listu nesmíš nad písmeny používat českou interpukci. (Pochybuji, že ve 2013 to takto fungovalo.)
Kód: Vybrat vše
Sheets("AktivniList").Copy After:=Sheets(1)
Set ws = ActiveSheet
ws.Name = "Do prace"
Re: Přejmenování listu VBA Excel2016
Bohužel ani toto nepomohlo a v Excelu 2013 to pracuje tak jak jsem napsal až doposud. AktivniList není pojmenování listu, ale proměnná v které je "List1". Vyměnil jsem i za ActiveSheet.Name a stále nic. Kopii listu provede, ale nepřejmenuje ji.
Re: Přejmenování listu VBA Excel2016
Aktivní list je řeci název listu - Sheets("AktivniList") - to je přeci standardní označení listu podle názvu.PoPa píše: AktivniList není pojmenování listu ...
Jak může být list v porměnné? Tomu už vůbec nerozumím.PoPa píše:... ale proměnná v které je "List1".
- elninoslov
- Level 2.5
- Příspěvky: 373
- Registrován: červen 13
- Pohlaví:
- Stav:
Offline
Re: Přejmenování listu VBA Excel2016
Kód: Vybrat vše
Sub CopyWS()
Dim AktivniList As String, ws As Worksheet
With ThisWorkbook
AktivniList = "halušky"
.Worksheets(AktivniList).Copy After:=.Worksheets(1)
Set ws = .ActiveSheet
ws.Name = "Do práce"
Set ws = Nothing
End With
End Sub
Ak nechcete ešte niečo iné robiť s novým listom, ani nepotrebujete premennú "ws", ale použite
Kód: Vybrat vše
Sub CopyWS()
Dim AktivniList As String
With ThisWorkbook
AktivniList = "halušky"
.Worksheets(AktivniList).Copy After:=.Worksheets(1)
.ActiveSheet.Name = "Do práce"
End With
End Sub
Ak premenná "AktivniList" nadobúda rôzne hodnoty, tak je to mätúce, a radšej si ju premenujte napr. na "ListName", a bude označovať meno listu na kopírovanie, pretože kopírovaný list nemusí byť vždy aktívny.
Alebo ak máte nejaké kopírovacie tlačítko na každom liste, ktorého sa to týka, tak ani premennú AktivniList nepotrebujete, ale môžete použiť:
Kód: Vybrat vše
Sub CopyWS()
With ThisWorkbook
.ActiveSheet.Copy After:=.Worksheets(1)
.ActiveSheet.Name = "Do práce"
End With
End Sub
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 2
- 724
-
od Dolpi
Zobrazit poslední příspěvek
08 úno 2024 15:30
-
-
Excel - automatický export listů xls do pdf včetně pojmenování Příloha(y)
od kalosek » 28 čer 2023 20:31 » v Kancelářské balíky - 2
- 2075
-
od kalosek
Zobrazit poslední příspěvek
29 čer 2023 19:39
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti