Nekatere rešitve so po mojem preveč nerodne. Zato imam nekaj vprašanj:
1. Kako pisati v zaščiteno celico v kodi VB ?
Problem: Uporabniku želim preprečiti vnos v celico, kateri določam vrednost v kodi.
Če celico zaščitim se lahko vsebino spreminja s formulo ( npr.: =AS35 ).
Če pa v to celico nekaj zapišem v VB oziroma makru, pa javi napako.
Moja rešitev: V kodi določam vrednost neki skriti celici ( daleč desno, npr.: AS35), na željeno (vidno) mesto pa jo prenašam s formulo ( =AS35).
2. Zakaj vsebina celice ni skrita?
Problem: Celico AS35 iz prejšnje točke sem želel skriti.
- Celici sem dal lastnost »Skrita« ( ne pa tudi »Zaklenjena« ).
- List sem zaščitil
Pričakoval sem, da vsebina celice ne bo vidna, pa je vsebina vseeno vidna.
Moja rešitev: Barvo pisave sem dal enako barvi podlage.
3. Ustvarjanje in shranjevanje novega zvezka.
Problem: z VB preberem več istovrstnih zvezkov (poročil) in sestavim nov zvezek »Zbirno«
- Zvezek sem kreiral z naslednjo kodo:
Koda: Izberi vse
Sub TestSave()
Set NovZvezek = Workbooks.Add
NovZvezek.Worksheets(1).Range("B2").Value = "TestXX"
NovZvezek.SaveAs ("D:\TEST\TestNowZvezekA.xlsx")
End Sub
- Prekopiral sem primer iz Help-a, pa tudi ne dela.
Koda: Izberi vse
Sub AddNew()
Set NewBook = Workbooks.Add
With NewBook
.Title = "All Sales"
.Subject = "Sales"
.SaveAs Filename:="Allsales.xls"
End With
End Sub
Moja rešitev: Z Excel-om sem odprl nov zvezek in ga shranil kot »InitZvezek«. Potem sem v kodi odprl ta zvezek in ga shranil z novim imenom. To pa dela.
Koda: Izberi vse
Sub TestSaveDela()
Set NovZvezek = Workbooks.Open("D:\TEST\InitZvezek.xlsx") ' Odprem "prazno" poročilo
NovZvezek.SaveAs ("D:\TEST\TestNowZvezekB.xlsx") ' Shranim zvezek z novim imenom
End Sub
Drago