< návrat zpět
MS Excel
Téma: VBA - název listu - proměnná
Zaslal/a Away 29.8.2016 17:00
Zdravím,
mám cyklus, kterým spouštím marko v jiném modulu (příloha). Potřeboval bych vyřešit to, aby v případě, že v sešitu není zatím list "DataRVV" se list vytvořil, ale pokud už je tak, aby makro vytvořilo nový list, třeba "DataRVV1" a makro standardně pokračovalo a vytvořilo vše tak jako by to byl první list. Odkaz na"DataRVV" & Worksheets.Count mi nefunguje. Nevíte, jak bych to mohl řešit? Děkuji A.
Příloha: 32471_forum.zip (6kB, staženo 37x)
marjankaj(29.8.2016 17:14)#032472 Tú prílohu si sám vytvoril? Pekná práca.
citovat
xlnc(29.8.2016 17:28)#032473 Tak prázdná, tak prázdná, tak prázdná, teď budou se mi všechna rána zdát.
citovat
Pavlus(29.8.2016 20:56)#032474 @Away: Pokud pracuješ z makry, tak je potřeba ukládat sešit jako xlsm, nikoliv jako xlsx. Když jsi to ukládal, tak ti to muselo napsat, že makra nebudou uložena...
Jinak na výše zmíněný problém můžeš využít jednoduchý If:
On Error Resume Next
If (Worksheets("DataRVV" & Worksheets.Count).Name = "") Then
'List neexistuje...
Sheets.Add.Name = "DataRVV" & Worksheets.Count
Else
'List existuje...
Sheets.Add.Name = "DataRVV" & 1
End IfP.
citovat
Away(30.8.2016 9:42)#032485 Ano, při ukládání jsem byl upozorněn, že bude sešit uložen bez maker a proto jsem si to uložil znovu jako .xslm, ale bohužel jsem "zazipoval" .xslx. Moje blbost, tady je už .xslm. @Pavlus -> díky za tip, jdu to zkusit. Těch nových listů bude více. Doufám, že bude fungovat třeba něco jako
Sheets.Add.Name = "DataRVV1" +1.
Příloha: 32485_forum.zip (16kB, staženo 31x) citovat
Away(30.8.2016 9:47)#032486 Jde mi o to, že mám ve formuláři listbox, kde je zapnut multipleinput a cyklus, že se přiložená subrutina spustí znova pokud je označeno více zdrojů. Takže poprvé to udělá DataRVV a v případě např. 3 vybraných zdrojových souborů DataRVV2, DataRVV3.
citovat