Pchełki VBA – Odcinek 12: Schowek

Jako wieloletni Bazyl, z odchyłami w kierunku hurtowni danych, muszę czasem pobawić się w tychże danych modelowanie. Modele danych dzielą się, w najszerszym ujęciu, na logiczne i fizyczne. Modele logiczne próbują opisać dane w sposób przyjazny dla użytkowników końcowych: opisywane tam obiekty odnoszą się do elementów świata rzeczywistego (takich jak bank, kartofel czy komin), używa… Czytaj dalej Pchełki VBA – Odcinek 12: Schowek

Pchełki VBA – odcinek 11: Odbijany

W dzisiejszym numerze "Pchełek" pokażę jak w prosty sposób zrobić "odbijankę". A więc: prostokąt X na Y pikseli, zaczynamy z górnego lewego rogu, rysujemy linię ukośną w dół w prawo aż trafimy na bok prostokąta, wtedy "odbijamy" się na zasadzie promienia świetlnego i tak w kółko Macieju aż dotrzemy do któregokolwiek z narożników. Aha, i… Czytaj dalej Pchełki VBA – odcinek 11: Odbijany

Pchełki VBA – odcinek 10: logger

Dzisiaj mamy jubileusz, pierwsza dziesiątka pchełek za nami! Tym razem zamiast pchełki będzie pchła, a w zasadzie pchliszcze. Napiszemy dziś więcej kodu niż zwykle, bo i zadanie do wykonania będzie nieco trudniejsze. Ale może się czegoś przy okazji nauczymy... Zadanie: napisać prosty logger, który dla jednego z arkuszy będzie rejestrował wszelkie działania na tym arkuszu:… Czytaj dalej Pchełki VBA – odcinek 10: logger

Pchełki VBA – odcinek 9: szukajcie, a znajdziecie

Dzisiaj pokażę jak za pomocą VBA przeszukać zakres komórek pod kątem konkretnego tekstu. Zadanie: napisać funkcję, która na podstawie zadanego zakresu komórek oraz szukanego tekstu, znajdzie ten tekst oraz zwróci opisową informację czego szukano oraz w której komórce to znaleziono. Jeżeli nie uda się znaleźć szukanego tekstu, funkcja ma zwrócić informację o nieudanych poszukiwaniach, czego… Czytaj dalej Pchełki VBA – odcinek 9: szukajcie, a znajdziecie

Pchełki VBA – Odcinek 8: rekurencja

Dziś o rekurencji. Czym jest rekurencja? To taki rodzaj definicji (bądź funkcji), która odwołuje się do samej siebie. Przy czym, musi być dodatkowo zdefiniowany jakiś stan brzegowy ("początkowy") w celu uniknięcia zapętlenia definicji w nieskończoność. Dobrym przykładem takiej nieskończonej rekurencji jest trójkąt Sierpińskiego. Żeby przerobić zwykły trójkąt równoboczny na trójkąt Sierpińskiego, należy podzielić go trzema… Czytaj dalej Pchełki VBA – Odcinek 8: rekurencja

Pchełki VBA – odcinek 7: listujemy zawartość folderu

Dzisiejsza pchełka dotyczy operacji na plikach. Ponieważ operacje na plikach są tematem bardzo rozległym, a pchełki z założenia są maleńkie, musnę dziś tylko wierzchołek góry lodowej - a przy tej okazji pokażę jak iterować po elementach kolekcji. Zadanie na dziś: napisać procedurę, która na wejściu przyjmuje dwa parametry: komórkę początkową oraz nazwę folderu, a w… Czytaj dalej Pchełki VBA – odcinek 7: listujemy zawartość folderu

Pchełki VBA – Odcinek 6: między arkuszami

Dziś rano Google skierowało na mojego bloga jakiegoś człowieka, który próbował wykombinować jak to zrobić, żeby kliknięcie w komórkę spowodowało przełączenie do innego arkusza. Dokładna fraza, jaką ów człowiek wpisał do wyszukiwarki, brzmiała: otwarcie innego arkusza po kliknięciu w komórkę Jakkolwiek wątpię, że ów delikwent kiedykolwiek powróci na mojego bloga (zapewne podczas dzisiejszej przypadkowej wizyty… Czytaj dalej Pchełki VBA – Odcinek 6: między arkuszami

Pchełki VBA – odcinek 5: zdarzenia

Dziś maleństwo, które może samo w sobie nie jest niczym szczególnym, ale powinno trochę pomóc w zrozumieniu modelu zdarzeń VBA. Kod VBA wpisany do modułu można uruchomić na jeden z trzech sposobów: Bezpośrednio z edytora VBA, ustawiając się wewnątrz procedury, którą chcemy uruchomić, i naciskając F5 Poprzez wywołanie za pośrednictwem funkcji arkusza. Poprzez obsługę zdarzenia.… Czytaj dalej Pchełki VBA – odcinek 5: zdarzenia

Pchełki VBA – odcinek 4: od AAA do ZZZ

Niedawno pisałem o tym, jak wygenerować wszystkie kombinacje dwuliterowe liter alfabetu łacińskiego. Udało się, i to bez krztyny kodu VBA - uciekliśmy się wtedy do "brudnego" tricku i powyciągaliśmy te kombinacje z nazw kolumn arkusza. Dziś wygenerujemy sobie wszystkie kombinacje trzyliterowe. A więc: AAA, AAB, AAC, ..., ZZX, ZZY, ZZZ. Zacznijmy od policzenia ile ich… Czytaj dalej Pchełki VBA – odcinek 4: od AAA do ZZZ

Pchełki VBA – odcinek 3: własna funkcja

Dziś pokażę jak napisać własną, niestandardową funkcję, której można następnie używać w arkuszu. Po pierwsze jednak, zanim kiedykolwiek zaczniemy pisać własną funkcję arkusza, upewnijmy się, że to, co chcemy uzyskać, nie istnieje już w zestawie funkcji standardowych (wbudowanych). Małomiękki z wersji na wersję dorzuca do Excela mnóstwo nowych funkcji i nie warto odkrywać koła ani… Czytaj dalej Pchełki VBA – odcinek 3: własna funkcja

Pchełki VBA – odcinek 2: parzyste

W drugim odcinku naszych Przygód z VBA Dla Początkujących napiszemy maleńki, jednolinijkowy żarcik. Najpierw jednak krótki wstęp na temat zabezpieczeń Excela przeciwko wirusom napisanym w VBA oraz dlaczego przeszkadza nam to w nauce. Jak ogólnie wiadomo, Homo Sapiens Sapiens ma tę smutną cechę, że każdą bez wyjątku ideę potrafi obrócić w broń przeciwko innemu Homo… Czytaj dalej Pchełki VBA – odcinek 2: parzyste

Pchełki VBA – odcinek 1: początki

Zauważyłem ostatnio, że kategoria "Branżowe" mojego bloga kuleje okrutnie. Postanowiłem w związku z tym rozpocząć serię pchełek VBA. Co prawda zawodowo nie używam VBA już od dość dawna, jednak ponieważ używałem go przez większość swojego życia zawodowego (i to od samego początku, kiedy tylko pojawiła się pierwsza wersja MS Office wyposażona w tę technologię), a… Czytaj dalej Pchełki VBA – odcinek 1: początki

Losowanie 2

Mam prostą zagadkę dla fachowców od karkuszy: w jaki sposób, za pomocą Excela, wylosować trzy różne liczby całkowite z przedziału 1 - 10? Wszystkich kombinacji jest zaledwie 720 (10*9*8), a więc możnaby je zakodować "na twardo" w arkuszu i po prostu losować jedną z nich, ale szukam czegoś bardziej eleganckiego. I w miarę prostego. Udało… Czytaj dalej Losowanie 2