ponedeljek, 5. marec 2012

Shranjevanje delovnih listov

Ljudske modrosti so super simpatična zadeva in ga ni junaka, ki bi jim lahko ubežal. Kako bi jim šele moja malenkost. Zgodilo se je nekako takole. V petek bi moral narediti nekaj poročil, ampak ker petek ni dan, ko bi človek šaril po kupu suhupornih podatkov, sem vso stvar potisnil v čudežni kup, kjer naj bi počakal na lepše čase. Ti so seveda nastopili takoj v ponedeljek zjutraj, ko se je našel nekdo, ki je hotel te podatke takoj na mizo.
Na tem mestu sledi sedaj zahvala bobom internetov, excelov in drugih podobnih kvazimističnočarobnihoseb, ki so mi pomagali.

Sedaj pa, kot je nekako navada, opis dejstev. Obstaja tabela kjer je kup podatkov o izdajnicah določenih artiklov. Vse skupaj samo štirje stolpci: šifra, masa, prevoznik, prevzemnik. Prvi del poročila je bil zelo preprost in zahteva samo malo klikanja.

Postavimo se v tabelo s podatki, kliknemo Vstavljanje in izberemo Vrtilna tabela.Excel nam sam ponudbi obseg podatkov, ki je ponavadi točen. Pogledamo še, če imamo izbrano opcijo Na nov delovni list, ki nam postavi vrtilno tabelo na nov delovni list in kliknemo V redu.

Odpre se nam nov delovni list, kjer imamo seda prazno vrtilno tabelo.
Na desni strani pa se nam pojavijo nazivi stolpcev iz izvorne tabele (polja) in okenca (območja), kamor jih lahko povlečemo. Tam jim tudi spremenimo atribute.
Polje prevzemnik povlečemo v območje Oznake vrstic, nato pod njega povlečemo še polje šifra. V območje Vrednosti povlečemo polje masa. Excel nam ponudi opcijo vsota. Če temu ni tako, kliknemo pa črno puščico in izberemo Nastavitve polja vrednosti... Odpre se nam novo okno, kjer lahko preimenujemo novo ime polja in določimo kaj naj excel počne s podaki v tem polju. Za naš primer, kot sem že predhodno dejal, izberemo Vrsta izračuna -> vsota. S tem smo izdelali vrtilno tabelo, ki vsebuje vse potrebne podatke za nadaljno analizo.

 Seveda to ni bilo dovolj in sem potreboval še podatke posameznih prevzemnikov, kaj so naredili s temi artikli. Zato sem podatke o vsakem prevzemniku kopiral na svoje list in ob tem se mi je utrnila super ideja, da je včasih potrebno različne liste iz ene excelove datoteke shranit vsakega v svojo datoteko. Tukaj pa spet ni šlo brez moje lenobe. Lahko bi preprosto vsak list kopiral v nov delovni zvezek, kopiral še širine stolpcev in vse skupaj rešil na star, peš, način. Poudarek je na lahko, ker tega seveda nisem storil. Najprej sem shranil datoteko z več list, nato pa odprl VBA in napisal zelo preprost modul:

Sub shrani_liste()
    Dim ws As Worksheet
    
    For Each ws In ThisWorkbook.Worksheets
        ws.Copy
        ActiveWorkbook.SaveAs Filename:=ws.Name
        ActiveWorkbook.Close
    Next ws
    
End Sub


Subruitna shrani vsak list iz delovnega zvezka (excelove datoteke) v nov delovni zvezek in to v isto mapo, kot je shranjen izvorni delovni zvezek.
Tako, to je to. Zadeva je že zdavnaj poslana naprej in če vam je napisano všeč, se priporočam za...






Ni komentarjev:

Objavite komentar