Triki Excelowe. Praktyczny poradnik dla controllera i analityka MARIUSZ JANKOWSKI



Podobne dokumenty
Rozwiązywanie umów o pracę

PRAWO ODRĘBNEJ WŁASNOŚCI LOKALU

Kluczpunktowaniaarkusza Kibicujmy!

Kluczpunktowaniaarkusza Kibicujmy!

POLA ELEKTROMAGNETYCZNE

Obcinanie gałęzi i ścinanie drzewa

Rewolucja dziewczyn na informatyce

W I L K A P R Z E W A G A P R Z E Z J A K O Ś Ć Master Key

I. TE MAT LEK CJI: W a dza usta wo daw cza, czy li kto two rzy pra wo II. ZA O E NIA ME TO DYCZ NE:

Montaż okna połaciowego

Liturgia eucharystyczna. Modlitwa nad darami œ

Liturgia eucharystyczna. Modlitwa nad darami œ

przekrój prostokàtny

Opakowania na materiały niebezpieczne

Gwarantowana Renta Kapitałowa. Ogólne warunki ubezpieczenia

Fotografia kliniczna w kosmetologii i medycynie estetycznej

ORGANIZACJA I ZARZĄDZANIE WSTĘP...9 ISTO TA I PRZED MIOT NA UKI O OR GA NI ZA CJI...11

w umowach dotyczących

Na jaką pomoc mogą liczyć pracownicy Stoczni?

Układanie wykładzin podłogowych

Ścianka z płyt gip so wo- -kar to no wych na rusz cie aluminiowym

Pierw sze in no wa cyj ne wdro że nie sys te mu EPC/RFID na pol skim ryn ku

250 pytań rekrutacyjnych

Jak działa mikroskop? Konspekt lekcji

Wy daw ca - GREMI MEDIA Sp. z o.o. z sie dzi bą w War sza wie przy ul. Pro sta 51, płat nik VAT za re je stro wa ny

ARKUSZ PRÓBNEJ MATURY Z OPERONEM JĘZYK NIEMIECKI

Skąd się bie rze si ła drę czy cie li?

Ubezpieczenie Ryzyka Śmierci lub Kalectwa wskutek Nieszczęśliwego Wypadku. Ogólne Warunki Ubezpieczenia Umowy Dodatkowej do Ubezpieczeń Uniwersalnych

Konstrukcja szkieletowa

1. Zdecydowane masowanie wzdłuż ramienia: 2. Zdecydowane uciskanie całego ramienia: od nad garst ka w kie run ku ra mie nia

FASADY FOTOWOLTAICZNE

Układanie paneli z PCV

Opis tech nicz ny. Prze zna cze nie

o przetargach nieograniczonych na sprzedaż zespołów składników majątku Stoczni Gdynia SA

Sztuka i komputer. Fotografia opracowana w kom pu te ro wym pro gra mie gra ficz nym.

Wpro wa dze nie dzie ci w tym wie ku

Marek Ko odziej INFORMATYKA PROGRAM NAUCZANIA DLA GIMNAZJUM. G d y n i a

KRYTERIA OCENIANIA ODPOWIEDZI Próbna Matura z OPERONEM i Gazetą Wyborczą. Wiedza o społeczeństwie Poziom podstawowy

Ogólne warunki umowy dodatkowej do ubezpieczeń uniwersalnych. Ubezpieczenie Składki

Nowe zasady prowadzenia ewidencji odpadów

ARKUSZ PRÓBNEJ MATURY Z OPERONEM CHEMIA

KRYTERIA OCENIANIA ODPOWIEDZI Próbna Matura z OPERONEM. Wiedza o społeczeństwie Poziom rozszerzony

Jaki podatek. zapłaci twórca? podatki. prawo. Twór ca i ar ty sta wy ko naw ca w pra wie au tor skim

Kontrola inbredu. hodowla NEGATYWNE SKUTKI INBREDU DEPRESJA INBREDOWA

Rozdział 4. Blokada nadgarstka PODSTAWY WSKAZANIA DO ZASTOSOWANIA ŚRODKI OSTROŻNOŚCI

KRYTERIA OCENIANIA ODPOWIEDZI Próbna Matura z OPERONEM Geografia Poziom podstawowy

ul-czaspracy_kampoznaj-wzn-zus2011: :34 Strona 1

Koncepcje i strategie logistyczne

Modele odpowiedzi do arkusza Próbnej Matury z OPERONEM. Wiedza o społeczeństwie Poziom rozszerzony

Na uczy ciel jest oso bą wspo ma ga ją cą,

dr To masz To kar ski er go no mia pra cy z lap to pem

Metoda projekt w. badawczych. Po szu ku j¹c no wych spo so b w za in te re so -

Modele odpowiedzi do arkusza Próbnej Matury z OPERONEM. Wiedza o społeczeństwie Poziom podstawowy

Re no wa cje bez wy ko po we prze wo dów in fra struk tu ry

Walizki. Walizki i pojemniki zamykane

STA TUT ZWI Z KU KY NO LO GICZ NE GOWPOL SCE

Okre ślić cel ho dow la ny dla wła sne go sta da

Budowa i zasada działania. Budowa. instrukcja obsługi grupy pompowej. powrót GW 1/2. zasilanie GW 1/2

Konstruowanie Indywidualnych Programów Edukacyjno-Terapeutycznych

Część I NOWE SPOJRZENIE NA OKRES DORASTANIA

Spis treści. Wstęp ZANIM SIĘ ZAPRZYJAŹNISZ DZIESIĘĆ CECH PRAWDZIWEJ PRZYJAŹNI... 18

Otwar cie 1. Zna cze nie Otwar cie 1 ma na stę pu ją ce zna cze nia:

Modele odpowiedzi do arkusza Próbnej Matury z OPERONEM. Chemia Poziom podstawowy

Elżbieta Judasz. Prawo pra cy. pierwsze kroki

Środ ka mi ochro ny indywidualnej wska za ny mi w oce nie ry zy ka za wo do we go przy ob słu dze LPG są także: oku

3. Propozycje ćwiczeń z zakresu edukacji zdrowotno-ruchowej

Wykonanie posadzki betonowej

Niezbędnik finansowy. Bezpieczne oszczędzanie na wymarzony cel. Produkty oszczędnościowe

Aspek ty or ga ni za cyj no -tech no lo gicz ne wy bra nych sys te mów kom ple ta cji

Ogólne warunki grupowego pracowniczego ubezpieczenia na życie GRU/P. Ogólne warunki dodatkowych ubezpieczeń grupowych

bo na zie mi.pl

JUŻ PRA CU JĄ! materiały prasowe

Doskonalenie w zakresie edukacji zdrowotnej kurs dla nauczycieli wf w gimnazjach

KRYTERIA OCENIANIA ODPOWIEDZI Próbna Matura z OPERONEM. Geografia Poziom rozszerzony

Medyczny laser CO2. C jaki aparat jest optymalny dla lekarza medycyny estetycznej/dermatologa?

1. PRZEWODNIK Spis treœci 1.2. Zespó³ autorski 1.3. Skorowidz rzeczowy 1.4. Wykaz skrótów 1.5. Objaœnienia piktogramów PRZEWODNIK.

Świat współczesny. 1 wy mie nia głów ne kie run ki pol skiej. z sąsia da mi i pań stwa mi Unii Eu ro - wymienia zadania am ba sa d i kon -

3. Pro po zy cje ćwi czeń z za kre su edu ka cji zdro wot no ru cho wej

OGسLNE ZASADY zamieszczania nekrolog w

Piotr Wojciechowski PRAWO PRACY. Poradnik dla pracodawcy

Nie pod le głość Li twy w 1990 r. sta ła się

Niezbędnik finansowy. Finansujemy nasze marzenia. Kredyty

Regulamin prowadzenia rachunków bankowych dla Klientów indywidualnych w Allianz Bank Polska S.A.

Art Lift nowa technologia liftingu

Za sto so wa nie ana li zy ABC/XYZ w przed się bior stwie prze twór stwa mle ka stu dium przy pad ku

Wilno: magia historii

1 3Przyj 0 1cie FOT. MAT. PRASOWE CUKIERNIA KACZMARCZYK. 58 magazyn wesele

Plan wynikowy. Dzia I O higienie pracy, komputerze, sieciach komputerowych i Internecie. kom pu te ro we.

u j e d n o l i co ny te kst u staw y

Terminy określone w ogólnych warunkach umowy podstawowej stosuje się odpowiednio w niniejszych ogólnych warunkach ubezpieczenia.

Odpowiedzialny pracodawca, czyli bezpieczne i higieniczne warunki pracy

ubezpieczenia komunikacyjne ogólne warunki ubezpieczeń komunikacyjnych

RAPORT. Kobiety w IT i TECH. womenintechsummit.pl

Be ton sprę żo ny suk ces zaw dzię -

BEZPIECZEŃSTWO UŻYTKOWANIA MASZYN

In struk cja dla ucznia

Dostosuj swój zakład do obowiązującego prawa pracy

Dostosuj swój zakład do obowiązującego prawa pracy

Transkrypt:

Biblioteka Inforlex MARIUSZ JANKOWSKI programista VBA, doświadczony praktyk w zakresie wykorzystania Excela i VBA w biznesie Triki Excelowe Praktyczny poradnik dla controllera i analityka

Spis treści: Wła sny pa sek na rzę dzi z li stą dni ty go dnia... 3 WY SZU KAJ.PIO NO WO() od do łu... 5 Po bra nie da nych z ze wnętrz nej ba zy Ac cess... 6 So lver opty ma li za cja kosz tów wy ciecz ki szkol nej... 8 Skró ty kla wia tu ro we... 10 Śledzenie zmian w arkuszu... 12 Zdarzenia formularza..................................................... 14 Drukowanie w Excelu... 16 Obsługa błedów w kodzie makra... 18 Za okrą gla nie liczb w Exce lu... 20 Li sta pli ków w ka ta lo gu... 22 Śred nia w Exce lu... 25 Ko rzy sta nie z ko lek cji w VBA ko lek cja czy słow nik?... 27 Okno dia lo go we... 31 Operacje na plikach i folderach... 33 Kwo ty skła da ją ce się na da ną su mę... 35 Sprawdzanie poprawności lista zawężająca... 37 Książ ki do na uki VBA... 39 Ro dza je błę dów w VBA... 41 Wy sy ła nie pli ku Exce la e-m ailem... 43 Osadzenie pliku wideo w Excelu... 45 Obliczanie kosztów czasu pracy maszyny... 47 Utworzenie i instalacja dodatku... 49 Kalendarz w komórce.................................................... 51 Ilość danej litery w arkuszu... 53 Zaawansowane formatowanie warunkowe... 54 Najpopularniejsze funkcje VBA... 56 Edytor VB... 59 Problem plecakowy... 63 Nowe funkcje obliczeniowe w Excelu 2007... 65 Wyszukiwanie według dwóch kryteriów... 68 2

problem W Exce lu moż na two rzyć wła sne pa ski na rzę dzi. Ko rzy stam czę sto z tej moż li wo ści, ale tym ra zem spra wa jest trud niej sza. Po pierw sze, chcę utwo rzyć pa sek z po zio mu VBA, tak aby był do stęp ny tyl ko w jed nym pli ku. Po dru gie, chciał bym mieć na nim kon tro l kę roz wi ja ną z na zwa mi wszyst kich dni ty go dnia po dob ną do tej, któ ra wy świe tla li stę wszyst kich czcionek na pa sku For ma to wa nie. Mia ło by to dzia łać w ten spo sób, że po za zna cze niu ko mó rek w a r ku szu i w y b o r ze od po wied nie go dnia z li st y, wa r to ś ć z kon tro l k i wk le j a ł a by s ię do t ych ko mó rek. Czy coś ta kie go jest moż li we do wy ko na nia? rozwiązanie Wła sny pa sek na rzę dzi z li stą dni ty go dnia Roz wią za niem te go za da nia jest uru cho mie nie po niż sze go ma kra w try bie Work bo ok_open(). Wi dok 1 po ka zu je za sto so wa nie ta kie go pa ska w ko mór kach ar ku sza. kwiecień 2012 3

Wi dok 1 n Pliki do pobrania w interecie Ze strony www.isc.infor.pl zakładka Excel pliki do samodzielnych ćwiczeń (zasoby dodatkowo płatne) można pobrać pliki z przykładami do opracowań z niniejszego poradnika. 4

WY SZU KAJ.PIO NO WO() od do łu problem B a r dzo czę sto ko r z y st a m z funk cji W Y SZU K A J. PIO NO WO ( ) do pr z y pi s a nia kon k ret ne j war to ści z ko lum ny za miesz czo nej na pra wo od szu ka nej. Wiem, że funk cja ta po sia da wie le o g r a n i cze ń, a l e j e s t b a r d zo p o p u l a r n a i s to s u n ko wo p ro s t a w u ż y c i u. F u n k c j a t a z wra c a za wsze pier w sz ą zna le zio ną wa r to ś ć, na wet je że li szu ka ny wpis w y stę pu je w pierw szej ko lum nie kil ka krot nie. Czy jest moż li wość, aby funk cja zwra ca ła pierw szą znale zio ną war tość, ale li cząc od do łu? Czy coś ta kie go jest moż li we do osią gnię cia tą lub in ną funk cją? Czy ko niecz ne jest uży cie ma kra? rozwiązanie Funk cja WY SZU KAJ.PIO NO WO() po tra fi w wy ni ku zwró cić ostat nią war tość z te go sa me go wier sza na pra wo od szu ka ne go wpi su, ale tyl ko pod jed nym, bardzo waż nym wa run kiem da ne w pierw szej ko lum nie za kre su bę dą ce go ta be lą/ /ta bli cą dla funk cji WY SZU KAJ.PIO NO WO() mu szą być po sor to wa ne ro sną co. W prze ciw nym ra zie funk cja zwra ca nie pra wi dło wą war tość. Wi dok 1 po ka zu je fik cyj ne da ty do ty czą ce sprze da ży pew nej fir my. Za da nie po le ga na tym, aby przy pi sać war tość ostat niej sprze da ży dla dnia 25 paź dzier nika da ta ta wy stę pu je na li ście trzy krot nie. For mu ła, któ ra zwra ca pra wi dło wy wy nik (3), wy glą da na stę pu ją co: =WY SZU KAJ.PIO NO WO(DA TA(2010;10;25);$A$1:$B$11;2;PRAW DA) Funk cja sto su je al go rytm pierw sze więk sze, a to ozna cza, że szu ka pierw szej więk szej war to ści (naj mniej szej spo śród więk szych od szu ka nej) i ja ko wy nik przy po rząd ko wu je kon kret ną war tość z wier sza po wy żej. W tym kon kret nym przy pad ku funk cja znaj du je da tę 27 paź dzier ni ka i w wy ni ku zwra ca war tość z ko mór ki po wy żej, czy li 3. Ist nie je tak że moż li wość, aby za da nie to wy ko nać w zu peł nie in ny spo sób za po mo cą for mu ły ta bli co wej. W tym przy pad ku da ne nie mu szą być po sor to wa ne. l =IN DEKS($B$1:$B$11;MAX(JE ŻE LI($A$2:$A$11=DA TA(2010;10;25);WIERSZ($2:$11); ))) l Naj pierw po rów ny wa ne są da ty w ko lum nie A z da tą 25 paź dzier ni ka. Funk cja JE ŻE LI() zwra ca ta bli cę: { \ \ \5\6\7\ \ \ \ \} l Funk cja MAX() na stęp nie po bie ra war tość maksy mal ną z tej ta bli cy czy li 7. l Funk cja IN DEKS() zwra ca w wy ni ku war tość z siód me go wier sza ko lum ny A (3). l Po nie waż jest to for mu ła ta bli co wa, na le ży ją za twier dzić po przez kom bi na cję kla wi szy Ctrl+Alt+En ter. l Na le ży pod kre ślić, że for mu ły ta bli co we dzia łają wol no i moc no ob cią ża ją roz miar sko ro szy tu. W przy pad ku spo rej ilo ści ta kich for muł w pliku war to roz wa żyć na pi sa nie wła snej funk cji VBA. n kwiecień 2012 5

Po bra nie da nych z ze wnętrz nej ba zy Ac cess problem In te re su je mnie za gad nie nie współ pra cy po mię dzy ar ku szem kal ku la cyj nym Excel a pro gra - mem do za rzą dza nia ba za mi da nych Ac cess. Wiem, że moż na za rów no eks por to wać do Exce la da ne z ba z y da nych, jak i im por to wać do Ac ces sa ta be le ut wo r zo ne w Exce lu. Cie ka - wi mnie na to miast, czy jest moż li we, aby po brać do Exce la frag ment ba zy Ac ces sa (np. kweren dę) za po mo cą klik nię cia w przy cisk (ma kro). Dla przy kła du, mam utwo rzo ną ba zę da nych o na zwie Roz li cze nia, w któ rej znaj du je się kil ka ta bel po wią za nych ze so bą po przez re la cje. W jed nej ta be li mam ad re sy i da ne wszyst kich urzę dów skar bo wych (widok 1). Czy jest moż li we, aby po brać do Exce la tyl ko te z Po zna nia? Je że li tak, to czy jest moż li wość, aby w ła twy spo sób po brać da ne dla urzę dów skar bo wych z Kra ko wa? rozwiązanie Excel po zwa la na łą cze nie się z ze wnętrz ny mi pli ka mi (in ne sko ro szy ty, pli ki tek sto we, ba zy da nych Ac cess) za po mo cą mo de lu ADO (Ac ti vex Da ta Ob jects). Obiekt ten po zwa la więc na po bra nie da nych nie tyl ko z ze wnętrz nych sko ro szytów, ale tak że z baz da nych. Aby po brać da ne z Ac ces sa, na le ży: zde fi nio wać po łą cze nie do ba zy, okre ślić za py ta nie SQL, sko pio wać wy ni ki do ar ku sza. Po niższe ma kro re ali zu je to za da nie. Wi dok 2 po ka zu je wy nik dzia ła nia ma kra. Da ne do ty czą ce urzę dów skar bowych z Po zna nia zo sta ły pra wi dło wo prze ko pio wa ne do ar ku sza. Chcąc po brać 6

Wi dok 1 Wi dok 2 da ne dla urzę dów z in ne go mia sta, na le ży po dać od po wied nią war tość dla sta łej smia sto. n kwiecień 2012 7

So lver opty ma li za cja kosz tów wy ciecz ki szkol nej problem W E xce lu na co dzień w y ko nu ję róż ne ob li cze nia, pro ste ope ra cje, pod su mo wa nia. Tym ra zem mam do wy ko na nia du żo trud niej sze za da nie. Pro blem jest zwią za ny z sze ro ko po ję t ym za gad nie niem opt y ma li za cji, a mó wiąc ś ci ś le j, do t y cz y w y b o ru od po wied nie j ilo ś ci au to ka rów na wy ciecz kę szkol ną dla dzie ci. Fir ma pr ze wo zo wa ofe ru je tr z y ro dza je au to ka rów: A au to kar miesz czą cy 32 oso by koszt 600 zł, B au to kar miesz czą cy 45 osób koszt 800 zł, C au to kar miesz czą cy 60 osób koszt 1000 zł. Wszyst kich dzie ci jest aż 250. Zamierzam wy na jąć od po wied nią ilość au to ka rów, tak aby za brać wszyst kie dzie ci i jed no cze śnie nie prze pła cić, a w au to ka rach zo sta ło jak naj mniej pu stych miejsc. Czy te go ty pu za da nie jest moż li we do wy ko na nia za po mo cą Exce la? rozwiązanie Za da nia do ty czą ce opty ma li za cji i ob li cza nia rów nań z co naj mniej dwo ma niewia do my mi są w Exce lu wy ko ny wa ne za po mo cą do dat ku So lver. Do da tek ten nie jest in sta lo wa ny stan dar do wo ra zem z pro gra mem. Ko niecz ne jest za tem je go do insta lo wa nie. Na le ży to zro bić po przez opcję NA RZĘ DZIA/DO DAT KI... Po za in sta lowa niu do dat ku mo że my przejść do zde fi nio wa nia wa run ków. Wi dok 1 przed sta wia wstęp ny pro jekt ar ku sza. Na pierw szy rzut oka roz wią za nie wy da je się dość skom pli ko wa ne. Opisz my je za tem: 1) Ko mór ki w ko lum nie E nie za wie ra ją żad nych for muł. Są to na sze zmien ne, któ re wy świe tlą konkret ną war tość po wy ko na niu za da nia. Ko mór ki te ozna cza ją ilość au to ka rów kon kret ne go ty pu, któ re na le ży wy na jąć. Wi dok 1 8

Wi dok 2 Wi dok 3 2) Ko mór ka C8 prze cho wu je for mu łę: =SU MA.ILO CZY NÓW(Ce na;licz ba_au to ka rów). For mu ła ta ob li cza za tem ce nę, któ rą trze ba bę dzie za pła cić za wy na jem wszyst kich au to ka rów. 3) Ko mór ka C9 prze cho wu je for mu łę = SU MA. ILO CZY NÓW(Licz ba_osób;licz ba_au to ka rów). For mu ła ta ob li cza su mę do stęp nych miejsc we wszyst kich wy na ję tych au to ka rach. Na stęp nym kro kiem jest okre śle nie wa run ków dla za da nia. Wi dok 2 po ka zu je ogra ni cze nia, ja kie mu szą zo stać uwzględ nio ne. 1) Ko mór ką ce lu jest C8, czy li kwo ta, ja ką mu si my za pła cić za wy na ję cie au to ka rów. Po nie waż dą ży my do te go, aby zmi ni ma li zo wać koszt, wy bie ra my dru gą opcję MIN. 2) Na szy mi zmien ny mi są ko mór ki E3:E5. 3) Licz ba miejsc we wszyst kich au to ka rach mu si być rów na lub więk sza 250. 4) Ilość au to ka rów mu si być licz bą cał ko wi tą, więk szą lub rów ną 0. 5) Po wpro wa dze niu wa run ków na le ży klik nąć przy cisk Roz wiąż (So lve). Wi dok 3 po ka zu je roz wiąza nie za da nia. Oka zu je się, że naj bar dziej opła cal ną opcją jest wy na ję cie trzech au to ka rów za 800 zł i dwóch za 1000 zł. W ta kiej kon fi gu ra cji ist nie je pięć wol nych miejsc. n kwiecień 2012 9

Skró ty kla wia tu ro we problem I n te re su je mnie za gad nie nie s k ró tów k la wia tu ro w ych. Po wszech nie u wa ż a s ię, że ich sto s o - wa nie znacz nie uła twia i przy spie sza pra cę z Exce lem. Na do brą spra wę jed nak nie wie lu uż y t kow ni ków w pra k t y ce ko r z y st a z k la wia tu r y więk szo ś ć uru cha mia po szcze gól ne opcje, kli ka jąc w ikon ki na pa skach lub wstąż kach. Czy jest ja kiś pro sty spo sób, aby na uczyć się skró tów kla wia tu ro wych Exce la? W in ter ne cie moż na zna leźć wie le róż nych stron ze skró ta - mi, ale przy swo je nie tej wie dzy jest do syć cięż ko straw ne. rozwiązanie Mo im zda niem naj lep sze i naj szyb sze efek ty przy no si wy dru ko wa nie ta be li skrótów utwo rzo nej w for mie pew nej ma cie rzy. Do naj po pu lar niej szych i naj bar dziej przy dat nych skró tów mo że my za li czyć: F1 Po moc F2 Tryb edy cji ko mór ki F5 Przejdź do... Ko mór ki spe cjal ne F8 Tryb za zna cza nia ob sza rów F9 Prze li cze nie for muł 10

F12 Za pisz ja ko... De le te Wy czysz cze nie za war to ści ko mó rek Ctrl + A Za zna cze nie wszyst kich ko mó rek ar ku sza Ctrl + B Włą cze nie/wy łą cze nie po gru bie nia ko mór ki Ctrl + F Znajdź... Ctrl + H Za mień na... Ctrl + N No wy sko ro szyt Ctrl + O Otwórz sko ro szyt Ctrl + S Za pi sa nie pli ku Ctrl + Z Cof nię cie ostat niej ope ra cji n kwiecień 2012 11

Śledzenie zmian w arkuszu rozwiązanie problem W mojej pracy korzystam z pliku, który zamieszczony jest na dysku sieciowym. Plik jest ogólnodostępny mogą z niego korzystać różne osoby. Chciałbym się dowiedzieć, czy jest możliwość monitorowania zmian wprowadzonych w obrębie jednego z arkuszy w tym pliku. Wiem, że Excel oferuje opcję śledzenia i raportowania zmian, ale jest ona mało popularna, a korzystanie z niej wymaga współdzielenia skoroszytu czy się tego chce czy nie. Oprócz tego właczenie śledzenia zmian wyłącza wiele standardowych funkcji Excela. Reasumując, czy jest jakiś sposób na to, aby monitorować zmiany wprowadzone w obrębie jednego arkusza? Rozwiązaniem może być utworzenie ukrytego i chronionego arkusza, który przechowywać będzie historię modyfikacji arkusza źródłowego. Widok 1 pokazuje przykładową tabelę zamieszczoną w Arkusz1. Modyfikacje tego arkusza będą rejestrowane w zakładce Arkusz2 (widok 2). Widok 1 Widok 2 Obydwa makra rejestrujące zmianę powinny zostac umieszczone w module zakładki Arkusz1. Option Explicit Dim vstarawartosc As Variant 12

Pri va te Sub Work she et_se lec tion Chan ge(by Val Tar get As Ran ge) 'Po bierz do zmien nej mo du łu war tość za zna czo nej ko mór ki If Not In ter sect(ar kusz1.ran ge(''a1'').cur ren tre gion, Tar get) Is No thing Then vsta ra War tosc = Tar get End If End Sub Pri va te Sub Work she et_chan ge(by Val Tar get As Ran ge) 'Za kończ je że li za zna czo no wię cej niż 1 ko mór kę If Tar get.cells.co unt > 1 Then Exit Sub 'Wy łą cze nie zda rzeń i od świe ża nia ekra nu With Ap pli ca tion.scre enup da ting = Fal se.ena ble Events = Fal se End With 'Ścią gnię cie ochro ny z ar ku sza re je stru ją ce go Ar kusz2.unpro tect Pas sword:=''taj ne'' 'Za pi sa nie zmian w ar ku szu re je stru ją cym With Ar kusz2.ran ge(''a'' & Rows.Co unt).end(xlup).of f set(1, 0).Va lue = Tar get.ad dress.of f set(0, 1) = vsta ra War tosc.of f set(0, 2) = Tar get.of f set(0, 3) = Da te.of f set(0, 4) = Ti me End With 'Przy wró ce nie ochro ny z ar ku sza re je stru ją ce go Ar kusz2.pro tect Pas sword:=''taj ne'' 'Przy wró ce nie usta wień apli ka cji With Ap pli ca tion.scre enup da ting = True.Ena ble Events = True End With End Sub n kwiecień 2012 13

Zda rze nia for mu la rza problem Do pie ro nie daw no za czą łem swo ją przy go dę z pi sa niem makr dla Exce la. Mam pro blem ze zro zu mie niem te go, w j a k i s po s ób funk cjo nu j ą for mu la r ze w VBA. N ie ro zu miem, j a ka jest róż ni ca po mię dzy ukry ciem for mu la rza a usu nię ciem go z pa mię ci. Trud no mi wy ła pać różni ce po mię dzy zda rze nia mi for mu la rza, po nie waż są one bar dzo po dob ne. Nie wiem, jak się ma I n i tia li ze ( ) do Ac ti va te ( ) lub Q u er y C lo s e ( ) do Ter mi na te ( ) i D e ac ti va te ( ). N ie za wsze wiem, kie dy za sto so wać me to dy ta kie, jak: Lo ad, Unlo ad i Hi de. Czy mógł bym po pro sić o ja kieś pro ste wy ja śnie nie lub roz róż nie nie tych zda rzeń i me tod? rozwiązanie For mu larz mu si naj pierw zo stać za ła do wa ny do pa mię ci (zda rze nie In i tia li ze), za nim zo sta nie wy świe tlo ny (zda rze nie Ac ti va te). Je że li for mu larz zo stał za ła do wany i wy świe tlo ny, a na stęp nie ukry ty, wów czas je go usta wie nia na dal prze cho wywa ne są w pa mię ci kom pu te ra (zo sta ją za pa mię ta ne ostat nie usta wie nia wpro wadzo ne przez użyt kow ni ka przed ukry ciem, np. li sta źró dło wa dla po la kom bi wraz z ak tu al nym wy bo rem, za zna czo ne po la wy bo ru czy do kład ny wpis w po lu tek stowym itp.). Gdy for mu larz jest na to miast za my ka ny, na stę pu je je go usu nię cie z pa mię ci kom pu te ra (wła ści wo ści je go kon tro lek przyj mu ją do myśl ne war to ści ostat nio wpro wa dzo ne usta wie nia zo sta ją nie ja ko wy ka so wa ne z pa mię ci. Dla tego nie moż na się do nich od wo ły wać póź niej w ko dzie chy ba że zo sta ły one za pi sa ne do ko mó rek ar ku sza lub do zmien nych pu blicz nych). Naj lep szym spo so bem na to, aby zo bra zo wać róż ni ce po mię dzy wy bra ny mi me to da mi i zda rze nia mi, ja kie ge ne ru ją, jest mo ni to ro wa nie (śle dze nie) za cho wa nia for mu la rza. Wi dok 1 przed sta wia for mu larz z trze ma przy ci ska mi, każ dy z nich ma przy pi sa ne osob ne ma kro. Sprawdź my za tem, ja kie zda rze nia bę dą ge ne ro wa ne po za sto so wa niu kon kret nych po le ceń. l Lo ad User Form1 Ta in struk cja ła du je for mu larz do pa mię ci, ale nie wy świe tla go. Wy ko na ne zo sta je za tem tyl ko zdarze nie In i tia li ze. For mu larz jest nie wi docz ny, więc zda rze nie Ac ti va te nie wy stę pu je. l User Form1.Show Ta in struk cja wy ko nu je dwie czyn no ści: ła du je for mu larz do pa mię ci (In i tia li ze), a na stęp nie wy świetla go (Ac ti va te) w sy tu acji, gdy for mu larz two rzo ny jest od no wa (nie ma go w pa mię ci). Je że li na tomiast for mu larz jest ukry ty w pa mię ci, po da na in struk cja je dy nie go wy świe tla (Ac ti va te). l User Form1.Hi de lub Me.Hi de (gdy kod za miesz czo ny w mo du le for mu la rza) Ta in struk cja ukry wa for mu larz, ale nie usu wa Wi dok 1 go z pa mię ci. Ak tu al ne da ne z for mu la rza są wciąż do stęp ne w pa mię ci kom pu te ra. Me to da ta nie ge ne ru je żad ne go zda rze nia. Aby wy świe tlić for mu larz, z po wro tem na le ży sko rzy stać z me tody Show. l Unlo ad User Form1 lub Unlo ad Me (gdy kod za miesz czo ny w mo du le for mu la rza) Ta in struk cja cał ko wi cie usu wa for mu larz z pa mię ci kom pu te ra, spra wia, że prze sta je on być wi docz ny i do stęp ny z po zio mu ko du VBA. 14

Pri va te Sub cmdwy swietl Na step ny_click() User Form2.Show End Sub Pri va te Sub cmdu kryj_click() Me.Hi de End Sub Pri va te Sub cmdza mknij_click() Unlo ad Me End Sub In struk cja ta jest wy wo ły wa na po klik nię ciu w krzy żyk znaj du ją cy się w pra wym gór nym ro gu for mula rza ge ne ru je dwa zda rze nia. Pierw sze z nich Qu eryc lo se po zwa la nam na anu lo wa nie de cy zji i umoż li wia dal szy do stęp do for mu la rza. Dru gie to Ter mi na te, któ re wy stę pu je już po usu nię ciu formu la rza z pa mię ci. l User Form2.Show Ta in struk cja wy świe tla dru gi for mu larz nie ukry wa ani nie usu wa pierw sze go. W mo men cie wy świe tle nia dru gie go for mu la rza za cho dzi na to miast zda rze nie De ac ti va te dla for mula rza pierw sze go i jest to lo gicz ne, po nie waż to dru gi for mu larz sta je się for mu la rzem ak tyw nym. n kwiecień 2012 15

Dru ko wa nie w Exce lu problem Ja kie są naj bar dziej przy dat ne opcje i usta wie nia do ty czą ce dru ko wa nia wy bra nych ko mó - rek w ar ku szu? Po nie waż pro jekt, któ rym się zaj mu ję, jest czę ścią więk szej apli ka cji, in te reso wa ły by mnie krót kie in struk cje VBA wraz z ko men ta rzem. rozwiązanie Dru ko wa nie ar - ku szy z po zio mu VBA jest tak sa mo pro ste jak dru kowa nie z po zio mu Exce la. Ar kusz1 ozna cza na zwę ko do wą ar ku sza za wie rają ce go ta be lę. Ar kusz1.pa ge Se tup.orien ta tion = = xlpor tra it'xlland sca pe Wy dru ko wa nie ta be li w orien ta cji piono wej (xlpor tra it) lub po zio mej (xllandsca pe). Ar kusz1.pa ge Se tup.prin tqu ali ty = = 600 Usta wie nie ja ko ści wy dru ku do myślnie 600 dpi. Ar kusz1.pa ge Se tup.pa per Si ze = xlpape ra4 Usta wie nie roz mia ru wy dru ku do myśl nie A4. Ar kusz1.pa ge Se tup.prin ta rea = = ''$A$1:$C$27'' Ob szar wy dru ku za kres ko mó rek przy le ga ją cych do ko mór ki A1. Ar kusz1.pa ge Se tup.print Ti tle Rows = = $1:$1 Bar dzo przy dat na opcja po wtó rze nie na głów ków ta be li na każ dej stro nie wy dru ku. Ar kusz1.pa ge Se tup.prin the adings = = True Ta be la wy dru ko wa na wraz z na główka mi ar ku sza. Ar kusz1.pa ge Se tup.print Gri dli nes = = True Ta be la wy dru ko wa na wraz z li nia mi siat ki. Wi dok 1 Wi dok 2 16

Wi dok 3 Ar kusz1.pa ge Se tup.print Com ments = xlprin tin Pla ce Wy dru ko wa nie ko men ta rzy tak jak w ar ku szu. Ar kusz1.pa ge Se tup.le fthe ader = ''&F'' Wy dru ko wa nie na zwy pli ku w le wym na głów ku stro ny. Ar kusz1.pa ge Se tup.ri gh the ader = = ''&D'' & Chr(10) & ''&T'' Wy dru ko wa nie da ty i cza su w prawym gór nym na głów ku stro ny. Ar kusz1.pa ge Se tup.cen ter Fo oter = = ''Stro na &P z &N'' Wy dru ko wa nie nu me ru ak tu al nej stro ny i wszyst kich stron w środ ko wej stop ce. In ne przy dat ne po le ce nia: Ar kusz1.print Pre view Pod gląd wy dru ku dla zde fi nio wa ne go wcze śniej za kre su ko mó rek. Ar kusz1.prin to ut Bez po śred ni wy druk (moż li wość usta wie nia m.in. za kre su stron, licz by ko pii). Ac ti ve Win dow.view = xlnor ma l View Wy świe tle nie ak tyw ne go okna w try bie nor mal nym. Ac ti ve Win dow.view = xlpa ge Bre ak Pre view Wy świe tle nie ak tyw ne go okna w try bie pod glą du po dzia łu stron. Ar kusz1.di splay Au to ma tic Pa ge Bre aks = True Wy świe tle nie li nii po dzia łu stron dla ar ku sza. n kwiecień 2012 17

Ob słu ga błę dów w ko dzie ma kra problem Od dłuż sze go cza su ko rzy stam z Exce la. Do pie ro nie daw no jed nak za czą łem swo ją przy godę z pi sa niem makr. Prze glą dam róż ne ko dy i nie po tra fię zro zu mieć, w ja ki spo sób dzia ła ją po szcze gól ne in struk cje ob słu gi błę dów. Nie wiem tak że, czy two rze nie ta kiej ob słu gi jest w ogó le ko niecz ne, po nie waż tyl ko nie któ re ma kra ją po sia da ją. Czy mógł bym zo ba czyć przy kła do we ma kro wraz z do brze na pi sa ną ob słu gą błę dów? rozwiązanie Pro fe sjo nal na ob słu ga błę dów jest nie zwy kle waż na, jest czę sto tym, co od róż nia do bre go fa chow ca od pseu do pro gra mi sty. Błę dy są nie od łącz nym ele men tem pro gramów. Im bar dziej zło żo na apli ka cja, tym wię cej wa run ków na le ży ob słu żyć, tym wię cej sy tu acji trze ba prze wi dzieć. Nie za wsze jed nak je ste śmy w sta nie prze wi dzieć wszyst kich sce na riu szy, te go, co mo że zro bić użyt kow nik, dla te go do bra ob słu ga błędów mu si obej mo wać wszyst kie moż li we przy pad ki wy stą pie nia błę dów. Po niż sze ma kro do da je do pli ku no wy ar kusz. Wy da wać by się mo gło, że ta z po zo ru pro sta ope ra cja po win na za mknąć się w jed nej li nij ce ko du. W tym przypad ku za sto so wa łem jed nak ob słu gę błę dów, któ ra po zwa la użyt kow ni ko wi na po no wie nie pró by przy pi sa nia wła ści wej na zwy dla no wo utwo rzo ne go ar ku sza. 18

W pierw szej ko lej no ści okre ślam, że gdy wy stą pi błąd w ma krze, pro ce du ra po win na przejść do ety kie ty Ob slu ga Ble dow. Na stęp nie wy świe tla się okien ko, w któ rym pro szę użyt kow ni ka o wpi sa nie na zwy dla ar ku sza. Ko lej ną in struk cją jest do da nie no we go ar ku sza i przy pi sa nie mu zmien nej obiekto wej, a na stęp ną zmia na na zwy na tę po da ną w okien ku I tu taj mo gą po ja wić się pro ble my, z co naj mniej dwóch przy czyn. Po pierw sze, na zwa ar ku sza nie mo że być po wie lo na, każ dy ar kusz w pli ku mu si mieć in ną na zwę. Po dru gie, na zwa ar ku sza mu si speł niać kil ka wy mo gów do ty czą cych dłu go ści i za war to ści tek stu. Oby dwie sy tu acje ge ne ru ją błąd 1004 (nie pra wi dło wa na zwa ar ku sza). W sy tu acji gdy użyt kow nik po da je złą na zwę, ma kro nie jest w sta nie zmie nić na zwy dla te go no we go ar ku sza, wy zwa la błąd i prze cho dzi do ob słu gi błędów. Po now nie wy świe tlo ne zo sta je okien ko, a w nim proś ba o po da nie wła ści wej na zwy ar ku sza. Je że li użyt kow nik po da tym ra zem pra wi dło wą na zwę na zwa zo sta nie zmie nio na, a ma kro za kończo ne. Je że li nie wpi sze nic (klik nie przy cisk Anu luj lub OK), ar kusz zo sta nie ska so wa ny z pli ku. Je że li zno wu po da błęd ną na zwę po now nie wy świe tli się okien ko z proś bą o wpi sa nie pra wi dło wej na zwy. Je że li użyt kow nik wpi sze na sa mym po cząt ku pra wi dło wą na zwę, wów czas ma kro zo sta nie wy ko na ne wła ści wie i za koń czy się na li nii Exit Sub (nie przej dzie do ob słu gi błę dów). n kwiecień 2012 19

Za okrą gla nie liczb w Exce lu problem Pra cu ję w dzia le kadr i mam pro blem ze zro zu mie niem, w ja ki spo sób Excel za okrą gla licz by. Mój pierw szy po le ga na tym, że Excel źle ob li cza mi su mę wszyst kich za ku pio nych pro duk tów, mi mo że kwo ty wy świe tla ją się pra wi dło wo. Mój dru gi pro blem po le ga na tym, że nie po tra fię na pi sać for mu ły, któ ra bę dzie za okrą gla ła kwo tę do dwóch miejsc po przecin ku. Licz ba 5 ma być za okrą gla na w gó rę, zgod nie z ka no na mi obo wią zu ją cy mi w księ go wo ści. W Exce lu jest bar dzo du żo funk cji za okrą gla ją cych, czy mo gła bym pro sić o po ka za nie róż nic mię dzy ni mi? rozwiązanie Od po wiedź na py ta nie pierw sze jest dość pro sta i mo gli by śmy ją stre ścić sło wa mi: Licz ba, któ rą wi dzisz w ko mór ce ar ku sza, nie jest nią w rze czy wi sto ści. Cho dzi o to, że licz ba umiesz czo na w ko mór ce ar ku sza bar dzo czę sto jest sfor ma to wa na w od po wied ni spo sób. Mo że to być for mat wa lu to wy, pro cen to wy lub np. bar dzo czę sto sto so wa ny for mat licz bo wy z dwo ma miej sca mi po prze cin ku. Licz ba 125,2384 sfor ma to wa na w ostat ni spo sób wy świe tlo na zo sta nie w ko mór ce ja ko 125,24. Większość po cząt ku ją cych użyt kow ni ków uwa ża, że Excel sam za okrą gla tę licz bę do dwóch miejsc po prze cin ku i to, co wi dzi my w ko mór ce (125,24), jest już no wą licz bą, na któ rej mo że my da lej ope ro wać. Jest to przy czy ną wie lu błę dów i nie po rozu mień, po nie waż Excel w rze czy wi sto ści zmie nia tyl ko spo sób wy świe tla nia licz by, nie in ge ru je na tomiast w sa mą licz bę jej rze czy wi stą war tość moż na po dej rzeć na pa sku for mu ły (125,2384). Do da jąc kwo tę po dat ku VAT, do da je my ją do licz by 125,2384, a nie 125,24 jak mo gło by się wy da wać. Od po wia da jąc na py ta nie dru gie. Fak tycz nie w Exce lu ma my bar dzo du żo funk cji za okrą gla ją cych, z któ rych tak na praw dę rzad ko ko rzy sta się w prak ty ce. Co wię cej, ist nie je spo ra nie kon se kwen cja pro gra mi stów Mi cro so ftu w al go ryt mach wy ko rzy sta nych przy za okrą gla niu. Prze ana li zuj my so bie do kład nie ta be lę za war tą na wi do ku 1. Ma my tam ce ny pod sta wo we (przed za okrą gle niem) trzech produk tów i sie dem róż nych funk cji za okrą gla ją cych. Tyl ko w dwóch przy pad kach uzy sku je my ta ki sam wy nik. Prze ana li zuj my po ko lei każ dą funk cję: l ZA OKR.DO.CAŁK() funk cja w każ dym przy pad ku po zo sta wia część cał ko wi tą licz by i ob ci na część ułam ko wą. Wi dok 1 20

l ZA OKR() funk cja za okrą gla kwo tę do dwóch miejsc po prze cin ku, za tem za okrą gla na jest za wsze trze cia cy fra po prze cin ku. Funk cja sto su je al go rytm stan dar do wy, za tem 39,434 zo sta je za mie nio ne na 39,43, a 17,185 na 17,19 (piąt ka za wsze jest za okrą gla na w gó rę). Jest to do kład nie ta kie roz wiąza nie, o ja kie nam cho dzi (i je dy ne, jak prze ko na my się ana li zu jąc na stęp ne for mu ły). l ZA OKR.DÓŁ() w tym przy pad ku funk cja ob ci na każ dą trze cią licz bę po prze cin ku, a mó wiąc precy zyj niej, za okrą gla ją w dół, czy li do ze ra. W efek cie kwo ta 17,185 zo sta ła za okrą glo na do 17,18. Trze cia cy fra po prze cin ku jest w tym przy pad ku nie waż na dla kwo ty 17,189 Excel rów nież zwróci war tość 17,18. l ZA OKR.GÓ RA() funk cja dzia ła od wrot nie do funk cji ZA OKR.DÓŁ(). W na szym przy pad ku za okrągla w gó rę każ dą dru gą cy frę po prze cin ku, dla te go 17,185 zo sta je prze kon wer to wa ne na 17,19, a 39,434 na 39,44. l ZA OKR.W.DÓŁ() funk cja ta ma nie co in ną bu do wę od funk cji ZA OKR.DÓŁ(). Tak że po sia da dwa ar gu men ty, ale dru gi peł ni zu peł nie in ną ro lę. Funk cja ta za okrą gla licz bę w dół, w kie run ku ze ra, do naj bliż szej wie lo krot no ści istot no ści. l ZA OKR.W.GÓ RĘ() funk cja dzia ła ją ca od wrot nie do funk cji ZA OKR.W.DÓŁ(). l ZA OKR_VBA jest to funk cja wła sna VBA, któ ra wy glą da w ten spo sób: Funk cja ta sto su je al go rytm ban kier ski, któ ry trak tu je cy frę 5 w spe cy ficz ny spo sób. Je że li cy fra po prze dza ją ca piąt kę jest licz bą pa rzy stą, wte dy Excel za okrą gla licz bę w dół (17,185 zo sta ło za okrąglo ne do 17,18), na to miast je że li cy fra po prze dza ją ca piąt kę jest licz bą nie pa rzy stą, wte dy Excel za okrągla licz bę w gó rę (21,435 zo sta ło za okrą glo ne do 21,44). n kwiecień 2012 21

Li sta pli ków w ka ta lo gu Wiem, że ist nie je ma kro, któ re po zwa la na zro bie nie spi su pli ków znaj du ją cych się w wy branym ka ta lo gu (z opcjo nal nym uwzględ nie niem pod fol de rów). Ta kie ma kro jest jed nak dość skom pli ko wa ne trud no je zro zu mieć. Czy mógł bym otrzy mać przy kład ko du wraz z do kładnym ko men ta rzem? rozwiązanie problem Rze czy wi ście, ta kie ma kro ist nie je. Po ni żej przy kła do wy kod: 22

kwiecień 2012 23

Efekt dzia ła nia ma kra moż na prze śle dzić po ni żej. Wi dok 1 Naj pierw ma kro two rzy no wy plik i do da je w je go pierw szym ar ku szu sfor ma to wa ny na głó wek z in for ma cją o ka ta lo gu, a tak że wsta wia na zwy ko lumn. Na stęp nie na stę pu je ak ty wa cja pod pro ce dury, w któ rej przy pi su je my fol de ro wi głów ne mu kon kret ną zmien ną obiek to wą. W pierw szej ko lej no ści na stę pu je pę tla po pli kach znaj du ją cych się bez po śred nio w ka ta lo gu głów nym, czy li C:\Pro gram Fi les\ In ter net Explo rer (wła śnie te pli ki po ka zu je wi dok 1). Po wy pi sa niu wszyst kich pli ków, ma kro w pę tli spraw dza wszyst kie ist nie ją ce w ka ta lo gu głów nym fol de ry i po now nie wy wo łu je pod pro ce du rę dla każ de go z nich. Je że li da ny fol der za wie ra ja kieś pli ki, to zo sta ną one do pi sa ne do li sty. Je że li w folde rze tym do dat ko wo znaj du ją się in ne pod fol de ry, wów czas tak że zo sta ną one uwzględ nio ne. W ten spryt ny spo sób ma my do czy nie nia z pę tlą, któ ra do pi su je do li sty wszyst kie pli ki znaj du jące się we wszyst kich pod fol de rach ka ta lo gu głów ne go C:\Pro gram Fi les\in ter net Explo rer. 24

Śred nia w Exce lu problem M a m k il ka py t a ń do t y cz ą cych ob li cza nia ś red nie j. Po pier w sze, chcia ł bym s ię do wie dzie ć, ja ka jest róż ni ca po mię dzy funk cja mi: ŚRED NIA() a ŚRED NIA.A(). Wy glą da ją one bar dzo po dob nie, ale na pew no nie dzia ła ją iden tycz nie. Po dru gie, za uwa ży łem, że w Exce lu zna j du je s ię k il ka in nych funk cji po z wa la j ą cych na ob li cze nie ś red nie j. S zcze r ze mó wiąc, nie wiem, jak one dzia ła ją czy mógł bym po pro sić o przy kła dy? Po trze cie, czy w Exce lu ist nieje wbu do wa na funk cj a, k tó ra po z wo li ł a by mi ob li cz yć ś red nią wa żo ną? rozwiązanie Rze czy wi ście, Excel po sia da w swo im zbio rze funk cji ar ku szo wych za rów no funk cję ŚRED NIA(), jak i ŚRED NIA.A(). Róż ni ce po mię dzy ni mi do ty czą spo so bu trak to wa nia tek stu i war to ści lo gicz nych PRAW DA/FAŁSZ. Jak po ka zu je wi dok 1, wy ni ki dla obu funk cji róż nią się aż w trzech przy padkach. Stan dar do wa funk cja ŚRED NIA() po mi ja w swo ich ob li cze niach wszyst ko to, co nie jest licz bą (pu sta ko mór ka, for mu ła zwra ca ją ca w wy ni ku pu sty ciąg, tekst, war tość lo gicz na). W każ dym przy pad ku funk cja zwra ca w wy ni ku 3, czy li de facto bie rze do ob li czeń tyl ko dwie licz by (2 i 4). Funk cja ŚRED NIA.A() co praw da po mi ja tak że pu ste ko mór ki, ale już bie rze pod uwa gę for mu ły zwra ca ją ce pu ste cią gi, tekst i war to ści lo gicz ne, a mó wiąc do kład niej, za mie nia je na ze ra. Stąd też w wy ni kach for muł otrzy ma li śmy 2 ja ko wy nik dzia ła nia ma te ma tycz ne go (0+2+4/)/3. Excel, oprócz tych dwóch funk cji, po sia da w swo jej ko lek cji tak że in ne po zwa la ją ce ob li czyć śred nią dla da ne go zbio ru liczb: l ŚRED NIA.GEO ME TRYCZ NA() po zwa la ob li czyć śred nią geo me trycz ną liczb po da nych przez ar gumen ty (wszyst kie mu szą być więk sze od ze ra). W prak ty ce funk cja ta mo że być wy ko rzy sta na do ob li cze nia śred nie go, pro cen to we go przy ro stu zy sków fir my np. w ska li ro ku (pod wa run kiem, że w każ dym ro ku ma ją tek fir my się zwięk sza) lub po pro stu ob li cze nia śred nie go współ czyn ni ka przyro stu dla do wol nej zmien nej w okre ślo nym cza sie (np. śred ni rocz ny przy rost wzro stu ma łe go dziecka, li czo ny na prze strze ni kil ku lat). l ŚRED NIA.HAR MO NICZ NA() jest od wrot no ścią śred niej aryt me tycz nej od wrot no ści. Śred nia harmo nicz na jest za wsze mniej sza niż śred nia geo me trycz na, któ ra z ko lei jest za wsze mniej sza niż śred nia aryt me tycz na. Śred niej tej uży wa my, gdy da ne są war to ścia mi względ ny mi (np. licz ba mieszkań ców na km2 dla da ne go mia sta) z rów ny mi wa ga mi (ta ka sa ma licz ba miesz kań ców wszyst kich ba da nych miast). Śred nia har mo nicz na w wy ni ku zwró ci śred nią gę stość za lud nie nia dla obu miast łącz nie. Wi dok 1 kwiecień 2012 25

Wi dok 2 l ŚRED NIA.WEWN() bar dzo przy dat na funk cja, ale sto sun ko wo ma ło zna na i rzad ko wy ko rzy sty wana. Po zwa la na ob li cze nie śred niej aryt me tycz nej dla da ne go zbio ru liczb po od rzu ce niu war to ści skraj nych. Dru gi ar gu ment funk cji de cy du je o tym, ja ka część da nych po win na zo stać wy klu czo na z ob li czeń. Dla przy kła du, je że li zbiór li czy 10 ele men tów, a war tość dru gie go ar gu men tu to 0,2, wów czas zo sta ną z nie go wy klu czo ne dwie war to ści: jed na skraj na gór na i jed na skraj na dol na. Funk cja wy klu cza skraj ne war to ści w spo sób sy me trycz ny ty le sa mo z gó ry co z do łu. Mo że być ona sto so wa na wszę dzie tam, gdzie ana li zu je się pew ne da ne za wie ra ją ce spo re od chy le nia i war tości skraj ne, np. po miar rze czy wi stej śred niej za rob ków w kra ju. Excel nie po sia da na to miast funk cji, któ ra po zwa la ła by ob li czyć śred nią wa żo ną. Ist nie ją dar mo we do dat ki, któ re ta ką funk cję za wie ra ją, np. Mo re func. Moż na też ta ką for mu łę skon stru ować so bie sa me mu. Wi dok 2 po ka zu je ob li cze nie śred niej wa żo nej ucznia na ko niec se me stru. Na uczy ciel uznał, że najważ niej szy jest spraw dzian koń co wy (wa ga 5), na stęp nie re fe rat (4) i kart ków ka (2). For mu ła w ko mór ce E2 to: =SU MA(B2*5;C2*4;D2*2)/11 Naj pierw na stę pu je prze mno że nie ocen przez kon kret ne wa gi, na stęp nie zsu mo wa nie wy ni ków i po dzie le nie war to ści przez su mę wag (5+4+2). Ta ki spo sób po dej ścia do wy sta wia nia ocen jest z pewno ścią lep szy od pro ste go wy li cze nia śred niej aryt me tycz nej. 26

Ko rzy sta nie z ko lek cji w VBA ko lek cja czy słow nik? W swo ich ma krach bar dzo czę sto ko rzy stam z ko lek cji. To po zwa la mi w ła twy spo sób umieścić te sa me obiek ty w jed nej gru pie. Ko lek cję wy ko rzy stu ję tak że do po bra nia uni ka to wych war to ści z za kre su ko mó rek (póź niej prze no szę je do ta bli cy i wy peł niam ni mi po le kom bi lub po le li st y na for mu la r zu). N ie daw no pr ze cz y t a ł em, że j a ko a l ter na t y wę moż na sto s o wać obiekt D ic tio na r y słow nik, któ ry da je więk sze moż li wo ści i jest bar dziej ela stycz ny. Czy r ze cz y wi ś cie za miast ko lek cji lep sz ym roz wią za niem jest sto s o wa nie w ko dzie s ł ow ni ka? C z y móg ł bym otr z y mać j a k ie ś do dat ko we, cie ka we in for ma cje do t y cz ą ce ko lek cji, t a k że w kon tek ście po rów na nia ze słow ni kiem? rozwiązanie problem VBA jest ję zy kiem obiek to wym, a to ozna cza, że pi sząc kod, od wo łu je my się do kon kret nych obiek tów (ich wła ści wo ści, me tod czy na wet zda rzeń). Obiek tem mo że być sam Excel (obiekt Ap pli ca tion), sko ro szyt (obiekt Work bo ok), po je dyn czy ar kusz (obiekt Work she et), ko mór ka w ar ku szu (obiekt Ran ge) czy ta be la prze staw na (obiekt Pi vot Ta ble). Oprócz obiek tów ist nie ją w bi blio te ce Exce la ko lek cje czy li gru py jedna ko wych obiek tów. Excel za wie ra ko lek cję otwar tych sko ro szy tów (Work bo oks), sko ro szyt za wie ra ko lek cję ar ku szy (Work she ets), po je dyn czy ar kusz mo że za wie rać ko lek cję wier szy (Rows), ko lumn (Co lumns), ta bel prze staw nych (Pi vot Ta bles) lub wy kre sów (Char to bjects). Re gu łą jest, że na zwy ko lek cji za zwy czaj koń czą się li te - rą s (licz ba mno ga, bo mó wi my o gru pie obiek tów). Do po szcze gól ne go ele men tu ko lek cji (obiek tu) mo że my się od wo łać na dwa spo so by: po przez po da nie w pa ra me trze in dek su (licz ba cał ko wi ta więk sza od 0, wska zu ją ca na nu mer elemen tu w ko lek cji, np. Work she ets(1).se lect, po przez od wo ła nie do uni ka to we go klu cza (naj czę ściej jest nim na zwa obiek tu), np. Work she ets( Bu dżet ).Se lect. Czę sto w ko dzie wy ko rzy stu je się wła sne ko lek cje prze cho wu ją ce obiek ty lub zwy kłe war to ści. Aby za ini cjo wać no wą ko lek cję, wy star czą dwie li nij ki ko du: Do da nie do ko lek cji no wej war to ści jest ba nal nie pro ste (me to da Add): Pa ra metr Item jest obo wiąz ko wy. Jest to wy ra że nie do wol ne go ty pu (mo że być nim obiekt lub np. zwy kły tekst). Pa ra metr Key jest opcjo nal ny, ale je go po da nie jest za le ca ne. Obo wiąz ko wo mu si to być tekst, a za razem uni kat, po któ rym bę dzie moż na się od wo łać do kon kret ne go ele men tu ko lek cji. W na szym przy pad ku klu czem są ini cja ły pra cow ni ka wraz z przy po rząd ko wa ną mu kon kret ną licz bą. Każ dy pra cow nik po sia da swój uni ka to wy kod w fir mie pra cu je dwóch Ja nów Ko wal skich (każ dy z nich ma osob ny kod). W ten spo sób do pra cow ni ka mo że my się od wo łać po przez in struk cję col Pra cow ni cy( JK1 ). W przy pad ku nie podania klu cza od wo ła nie jest moż li we tyl ko za po mo cą in dek su, np. col Pra cow ni cy(1). kwiecień 2012 27

28 Wi dok 1 Wi dok 1 po ka zu je krót ką ta be lę, w któ rej nie któ re da ne się po wta rza ją. Na szym ce lem jest stwo rze nie uni ka to wej li sty pra cow ni ków. Jest ich w su mie sześciu. Ma kro za miesz czo ne pod zdję ciem po ka zu je, w ja ki spo sób uzy skać ta ką li stę za rów no za po mo cą ko lek cji, jak i słow ni ka. W przy pad ku ko lek cji ma kro roz po czy na się od in truk cji On Er ror Re su me Next. Ma to na ce lu specjal ne po mi nię cie błę dów, któ re wy stą pią w trak cie pró by do da nia du pli ka tu. Ma kro w pę tli pró bu je do dać każ de go pra cow ni ka do uni ka to wej ko lek cji na pod sta wie je go ko du. Je że li ko du nie ma w ko lek cji, ope ra cja zo sta je za koń czo na po wo dzeniem. Je że li kod jest już na to miast w ko lek cji ma kro ge ne ru je błąd (pra cow nik nie mo że zo stać do da ny), jed nak jest on po mi nię ty ze wzglę du na li nię On Er ror Re su me Next. W ja ki spo sób ma kro od czy tu je, czy kon kret ny pra cow nik znaj du je się w ko lek cji? Wła śnie za po mo cą klu cza (Key), któ ry mu si być uni ka tem za pi sa nym obo wiąz ko wo ja ko tekst. W na szym przy pad ku klu czem jest uni ka to wy kod pra cow ni ka pró ba do da nia do ko lek cji pra cow ni ka z ta kim sa mym klu czem (ko dem) koń czy się wy stą pie niem błę du. Znacz nie pro ściej wy glą da to w przy pad ku słow ni ka. Ma kro za po mo cą me to dy Exi sts spraw dza, czy kod znaj du je się w słow ni ku. Je że li już ist nie je pę tla prze cho dzi do na stęp ne go ko du pra cow ni ka. Je że li nie ist nie je, jest on do da wa ny do słow ni ka.

Słow nik po sia da kil ka bar dzo wy raź nych prze wag nad ko lek cją, m.in.: 1. Ist nie nie me to dy Exi sts po zwa la w bar dzo pro sty i szyb ki spo sób spraw dzić, czy da na war tość znajdu je się w słow ni ku. W przy pad ku ko lek cji ko niecz ne jest przej ście w pę tli po wszyst kich ele men tach. 2. W przy pad ku ko lek cji je ste śmy w sta nie otrzy mać tyl ko war to ści ele men tów (na zwi ska pra cow ni ków) klu czy (ko dów) już nie. W przy pad ku słow ni ka ma my do stęp za rów no do war to ści, jak i klu czy. Po niż szy kod wy świe tla wszyst kie ele men ty wraz z klu cza mi: 3. W przy pad ku słow ni ka za rów no klu cze (ko dy), jak i ele men ty (na zwi ska) za pi sa ne są do osob nych ta blic jed no wy mia ro wych. Dzię ki te mu mo że my w ła twy spo sób sczy tać je do ko mó rek ar ku sza lub kon tro lek na for mu la rzu. 4. W przy pad ku słow ni ka moż na w pro sty spo sób zmie nić war tość klu cza: W przy pad ku ko lek cji na le ża ło by usu nąć ele ment i do dać go po now nie, z no wym klu czem. kwiecień 2012 29

30 5. W przy pad ku słow ni ka nie je ste śmy ogra ni cze ni do wpro wa dza nia klu czy ja ko tek stu. Klucz jest obo wiąz ko wy i mu si być uni ka tem, ale typ da nych jest bez zna cze nia (tekst, licz ba, war tość lo gicz na). 6. Słow nik po sia da me to dę Re mo ve All po zwa la ją cą na wy czysz cze nie ca łej za war to ści słow ni ka jed nym po le ce niem. W przy pad ku ko lek cji na le ża ło by usu nąć ele men ty w pę tli. 7. Słow nik po sia da wła ści wość Com pa re Mo de, któ ra po zwa la na wpro wa dze nie roz róż nie nia wiel ko ści li ter dla klu czy, tj. moż na do dać do słow ni ka pra cow ni ka z ko dem JK1, jak rów nież in ne go pracow ni ka z ko dem jk1.

Okno dia lo go we Czę sto wi dzę w ma krach opcję, któ ra wy świe tla okien ko dia lo go we, w któ rym użyt kow nik jest po pro szo ny o za zna cze nie ka ta lo gu lub kil ku pli ków. W ja ki spo sób naj pro ściej wy świe - tlić ta kie okien ko? Czy ła two jest po brać np. peł ne ścież ki do tych pli ków? W koń cu, jak zmu sić użyt kow ni ka do te go, aby wy brał np. dwa pli ki? rozwiązanie problem VBA ofe ru je kil ka spo so bów na wy świe tle nie okien ka dia lo go we go. Do naj po pular niej szych roz wią zań na le żą dwa: 1. Me to da Ge to pen Fi le na me obiek tu Ap pli ca tion. 2. Obiekt Fi le Dia log bę dą cy wła ści wo ścią obiek tu Ap pli ca tion. Zde cy do wa nie pre fe ru ję to dru gie roz wią za nie, po nie waż da je du żo wię cej moż liwo ści zwią za nych z wy świe tle niem okna dia lo go we go. Aby wy ko nać ta kie za da nie, moż na się po słu żyć wła sną funk cją VBA. W przy pad ku gdy użyt kow nik wy bie rze prawi dło wo dwa pli ki funk cja zwró ci w wy ni ku ich ad re sy. W sy tu acji gdy użyt kow nik nie do ko na wy bo ru lub za zna czy in ną licz bę pli ków niż 2 funk cja zwró ci w wy ni ku pu sty ciąg. Ma jąc na pi sa ną ta ką funk cję, mo że my póź niej w ma krze głów nym spraw dzić, czy ta funk cja zwra ca w wy ni ku pu sty ciąg je że li tak, ozna cza to, że użyt kow nik nie za zna czył pra wi dło wo dwóch pli ków je że li nie, ozna cza to, że wy ni kiem jest ta bli ca dwóch ad re sów (użyt kow nik za cho wał się wła ś- ci wie). Kod z funk cją i ko men ta rza mi znaj du je się po ni żej: kwiecień 2012 31

Wi dok 1 Wi dok 1 przedstawia okien ko dia lo go we, któ re zo sta nie po ka za ne użytkow ni ko wi. Wy mo giem dzia ła nia funk cji jest ist nienie ka ta lo gu D:\Ra por ty. n 32

Operacje na plikach i folderach problem Za sta na wiam się, czy VBA po sia da po le ce nia, in struk cje, któ re po zwa la ją do ko ny wać ope - ra cji na pli kach i ka ta lo gach. Przede wszyst kim mam na my śli ich ko pio wa nie, wy ci na nie, zmia nę na zwy, utwo rze nie od no wa, wy ka so wa nie. In te re su je mnie zwłasz cza ta ostat nia ope ra cja, bo chciał bym się do wie dzieć, czy ma kra fak tycz nie mo gą być nie bez piecz ne, czy mo gą do ko ny wać zmian np. w sys te mie ope ra cyj nym Win dows? rozwiązanie W Exce lu z po zio mu VBA jak naj bar dziej moż na do ko ny wać ope ra cji na plikach i fol de rach. Moż na to ro bić na dwa spo so by: a) po przez od wo ła nie do bi blio te ki Mi cro soft Scrip ting Run ti me, któ ra za wie ra do skona ły obiekt Fi le Sys te m O bject, b) po przez po je dyn cze funk cje VBA. 1. Ko pio wa nie pli ków i fol de rów Po je dyn czy plik moż na sko pio wać za po mo cą me to dy Fi le Co py. Fi le Co py C:\Moj Plik.xls, D:\Moj Plik.xls Po wyż sza in struk cja ko piu je plik Exce lo wy bez po śred nio z dys ku C na dysk D. Pierw szy ar gu ment okre śla ak tu al ną ścież kę do pli ku, dru gi ar gu ment ścież kę do ce lo wą. Fi le Co py C:\Moj Plik.xls, D:\Moj Plik -KO PIA.xls Ta in struk cja ko piu je plik Exce lo wy bez po śred nio z dys ku C na dysk D pod zmie nio ną na zwą Moj Plik -KO PIA.xls. VBA nie po sia da nie ste ty, po dob nej me to dy do ko pio wa nia fol de rów. Aby sko pio wać fol der w in ne miej sce, na le ży sko rzy stać z me to dy Co py Fol der obiek tu Fi le Sys te mo bject. Je śli chce my sko pio wać więk szą licz bę pli ków, tak że mu si my od wo łać się do te go obiek tu. 2. Prze no sze nie pli ków i fol de rów Po je dyn czy plik moż na prze nieść za po mo cą funk cji Na me. Na me C:\Moj Plik.xls As D:\Moj Plik.xls Po dob nie jak w przy pad ku ko pio wa nia, plik moż na prze nieść zmie nia jąc mu na zwę nie ja ko w lo cie. Ana lo gicz nie jak w przy pad ku ko pio wa nia, VBA nie po sia da me to dy, któ ra po zwo li ła by w pro sty spo sób prze nieść kil ka pli ków lub ca ły ka ta log w in ne miej sce (w tym przy pad ku na leża ło by po słu żyć się me to dą Mo ve Fol der obiek tu Fi le Sys te mo bject). 3. Zmia na na zwy pli ku lub fol de ru Na zwę po je dyn cze go pli ku moż na zmie nić tak że, ko rzy sta jąc z funk cji Na me. Na me C:\Moj Plik.xls As C:\Moj Plik -new.xls VBA nie po sia da me to dy, któ ra po zwo li ła by w pro sty spo sób prze nieść kil ka pli ków lub ca ły ka ta log w in ne miej sce (w tym przy pad ku na le ża ło by po słu żyć się me to dą Mo ve Fol der obiek tu Fi le Sys te mo bject). Zmia na na zwy pli ku dzia ła w ta ki sam spo sób jak je go prze nie sie nie w in ne miej sce pod in ną na zwą. 4. Utwo rze nie no we go pli ku i ka ta lo gu W przy pad ku utwo rze nia no we go pli ku wszyst ko za le ży od te go, ja ki kon kret nie typ nas in te resu je. Pli ki tek sto we moż na two rzyć bez po śred nio za po mo cą po le ce nia Open np. gdy chce my za pisać da ne z ko mó rek ar ku sza wła śnie do pli ku tek sto we go (w ta kiej sy tu acji po da je się peł ną ścież kę do pli ku je że li plik ist nie je, ma kro do pi su je da ne do już ist nie ją cych lub ka su je wcze śniej sze da ne je że li plik nie ist nie je, ma kro two rzy go au to ma tycz nie). W przy pad ku do ku men tów MS Of fi ce (sko ro szy ty Exce la, do ku men ty Wor da, pre zen ta cje Po wer Po in ta, ba zy Ac ces sa) na le ży naj pierw progra mo wo do dać no wy plik, a na stęp nie za pi sać go pod kon kret ną na zwą na dys ku. kwiecień 2012 33

34 Je że li chce my na to miast utwo rzyć no wy fol der, mo że my za sto so wać po le ce nie MkDir. MkDir C:\Moj No wy Fol der Na le ży się upew nić, że ka ta log o ta kiej ścież ce nie ist nie je w prze ciw nym ra zie ma kro wy wo ła błąd. 5. Ka so wa nie pli ków i fol de rów Ka so wa nie da nych z po zio mu VBA jest bar dzo pro ste i do ty czy to za rów no pli ków, jak i fol de rów. Oby dwie ope ra cje mo że my wy ko nać bez od wo ły wa nia się do bi blio te ki Mi cro soft Scrip ting Run ti me. Aby ska so wać po je dyn czy plik lub więk szą ilość pli ków, na le ży użyć in struk cji Kill, zaś w przy pad ku ka ta lo gu moż na wy ko rzy stać in struk cję RmDir. Kill C:\Moj Plik.xls Po wyż sza in struk cja ka su je sko ro szyt Moj Plik. xls znaj du ją cy się bez po śred nio na dys ku C. Kill C:\*.xls Ta in struk cja ka su je wszyst kie sko ro szy ty z roz sze rze niem *.xls znaj du ją ce się bez po śred nio na dysku C. Kill C:\*.xl* Ta in struk cja ka su je wszyst kie pli ki Exce la znaj du ją ce się bez po śred nio na dys ku C, a któ rych rozsze rze nie za czy na się od se kwen cji zna ków *.xl* (sko ro szy ty, sza blo ny, do dat ki itd.). Kill C:\*.* Ta in struk cja ka su je wszyst kie pli ki znaj du ją ce się bez po śred nio na dys ku C. RmDir C:\Moj Fol der Ta in struk cja ka su je ka ta log Moj Fol der znaj du ją cy się bez po śred nio na dys ku C (Ka ta log mu si być pu sty!). Aby ska so wać ca ły fol der wraz z za war to ścią, na le ża ło by naj pierw usu nąć w nim wszyst kie pli ki, a na stęp nie ska so wać już pu sty ka ta log. n

Kwo ty skła da ją ce się na da ną su mę problem W ja ki spo sób zna leźć kwo ty, któ re skła da ją się na da ną su mę? Przy kła do wo, w ko lum nie A mam li stę wpłat (tyl ko war to ści licz bo we). Chcia ła bym wie dzieć, któ re z tych wpłat na le ży zsu mo wać, aby w wy ni ku otrzy mać kon kret ną su mę, np. 9500 zł? Co w sy tu acji, gdy żad na kom bi na cja nie da je ta kiej su my? rozwiązanie W Exce lu ta kie za da nia moż na z po wo dze niem wy ko ny wać za po mo cą do dat ku So lver. Wi dok 1 po ka zu je przy kła do we da ne. W ko lum nie A znaj du ją się wpła ty (licz by), w ko lum nie B ilość dla każdej z nich (do myśl- Widok 1 nie są to ze ra). Wi dok 2 po ka zu je na to miast, w ja ki spo sób usta wić pa ra me try So lve ra, aby otrzy mać w wy ni ku po żą da ną su mę. Klu czo wa jest for mu ła za war ta w ko mór ce D2: =SU MA.ILO CZY- NÓW(Wpła ty;ilość). Ko mór ką ce lu jest ko mór ka D2. Po nieważ chce my uzy skać w wy ni ku konkret ną kwo tę 9500 zł, mu si my za znaczyć trze ci przy cisk opcji War tość i wpi sać tam do ce lo wą su mę. Zmien ny mi w na szym przy kła dzie są ilo ści. Że by upro ścić nie co wa run ki za da nia, za łóż my, że każ da wpła ta Widok 2 kwiecień 2012 35

Widok 3 mo że być wy ko rzy sta na wię cej niż je den raz. Ma my dwa wa run ki ogra ni cza ją ce. Pierw szy do ty czy te go, że ilość mu si być licz bą cał ko wi tą nie mo że być ułam kiem. Dru gi wa ru nek okre śla, że ilość nie mo że być licz bą ujem ną mu si być licz bą więk szą od ze ra lub ze rem. Gdy by śmy chcie li każ dą z wpłat wy ko rzy stać mak sy mal nie je den raz, mu sie li by śmy jesz cze do dać wa ru nek Ilość<2. Po wpro wa dze niu wa run ków na le ży klik nąć przy cisk Roz wiąż. Po wy ko naniu ob li czeń wy świe tlo ny zo sta nie mo nit z in for ma cją od no śnie do te go, czy wpro wa dzo ne zmia ny po win ny zo stać za pi sa ne. Jak po ka zu je wi dok 3, na su mę 9500 zł skła da ją się trzy kwo ty prze mno żo ne przez 2: 3040 zł (1520 zł 2) + 3120 zł (1560 zł 2) + 3340 zł (1670 zł 2) = 9500 zł. Po nie waż na szym ce lem jest uzy ska nie kon kret nej su my, mo że się zda rzyć, że żad na z kom bi nacji nie bę dzie da wać pra wi dło we go wy ni ku. W ta kiej sy tu acji So lver wy świe tli ko mu ni kat o prze kro cze niu li mi tu cza su lub błę dzie (cza sa mi wy nik jest pra wi dło wy, ale kosz tem zmian w wa run kach ogra ni cza ją cych). n 36

Sprawdzanie poprawności lista zawężająca problem In te re su je mnie za gad nie nie two rze nia li sty ka ska do wej (za wę ża ją cej) po przez opcję spraw - dza nia po praw no ś ci. D la pr z y kł a du, w jed ne j ko mór ce chcia ł bym mie ć moż li wo ś ć w y b o ru na zwy pań stwa, w dru giej zaś ko mór ce po win na po ja wić się li sta miast znaj du ją cych się tyl ko w tym kra ju. Wiem, że ta kie li sty moż na two rzyć przy uży ciu nazw, ale jest to bar dzo uciąż li we. Czy jest ja kiś in ny spo sób, aby zro bić to za po mo cą for muł? Chciał bym też, aby li st a s a ma s ię a k tu a li zo wa ł a, t zn. a by oby d wa po la by ł y za wsze ze s o b ą zsyn chro ni zo wa ne w mo men cie gdy wy bio rę in ny kraj, od ra zu zmie nia ła by mi się war tość i li sta w ko mór ce obok. Czy coś ta kie go jest moż li we do wy ko na nia? rozwiązanie Two rze nie list za wę ża ją cych jest jed nym z cie kaw szych za gad nień w Exce lu. Wbrew po zo rom ta kie roz wią za nie sto su je się dość czę sto, z lep szym lub gor szym skut kiem. Wi dok 1 po ka zu je roz wią za nie ta kie go za da nia. W pierw szej ko lum nie znaj du ją się pań stwa, w dru giej mia sta. Aby upro ścić przy kład, wpro wa dzi łem kil ka nazw: Kraj od no si się do sta łe go za kre su państw w ko lum nie A, Mia sto od no si się do sta łe go za kre su miast w ko lum nie B, Kra je_uni ka ty od no si się do uni ka to wej li sty państw w ko lum nie G, Kraj_Wy bor od no si się do ko mór ki D2, Mia sta_dla_kra ju dy na micz ny za kres ko mó rek od no szą cy się do wszyst kich miast wy bra ne go kraju np. je że li w ko mór ce Kraj_Wy bor wy bie rze my Cze chy, to za kre sem dla na zwy Mia sta_dla_kra jubę dzie B9:B10. Ko mór ki D2 i E2 za wie ra ją for mu ły w me cha ni zmie spraw dza nia po praw no ści (li sta): Widok 1 kwiecień 2012 37