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
Moderátor: Mods_senior
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: 386
- Registrován: 12 čer 2013 23:40
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 SubKó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 SubAlebo 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
