Transpozycja danych to operacja w Excelu, która pozwala zamienić miejscami wiersze z kolumnami. Możemy jej używać również w VBA za pomocą funkcji TRANSPOSE. W tym przypadku, dość nieoczekiwanie zamienia ona jednak dni z miesiącami. Transpozycja danych w Excelu Z transpozycji można w Excelu skorzystać na dwa sposoby. Pierwsza opcja (bardziej popularna) polega na skopiowaniu tabeli […]
Kłopoty z LBound
Pewnym problemem VBA i innych języków programowania jest to, że odliczanie często rozpoczynamy od 0, a nie od 1. W przypadku tablic, pozycją pierwszego elementu (z ang. LBound) domyślnie jest właśnie zero. Niesie to ze sobą wiele zagrożeń, o których musimy pamiętać. Od duplikatów do unikatów Jedną z najczęściej używanych przeze mnie funkcji VBA jest […]
Przerwanie makra przez CANCEL
W VBA możemy korzystać z procedur zdarzeniowych. Oznacza to, że makra mogą być uruchamiane automatycznie, w momencie zajścia określonego zdarzenia w obrębie arkusza lub skoroszytu. Niektóre zdarzenia posiadają parametr Cancel, który pozwala warunkowo przerwać działanie makra. Samowyzwalanie makra W VBA makra mogą się uruchamiać automatycznie, bez klikania w przycisk. Odbywa się to dzięki tzw. zdarzeniom […]
Zakresy nieciągłe
Zakresy nieciągłe są tematem mało popularnym. W arkuszu zazwyczaj operujemy na tabeli, a nie odrębnych zakresach. Ta sytuacja znajduje swoje odzwierciedlenie w VBA. Operowanie na zakresach nieciągłych przysparza więc trochę problemów. Niewiele osób zna bowiem taki obiekt jak Area. Czyszczenie wybranych komórek Czy są sytuacje, które wymagają od nas odniesienia się do komórek rozproszonych w […]
Przeliczanie zakresu komórek
Przeliczanie danych w Excelu zwykle odbywa się w sposób automatyczny lub ręczny. Jednorazowo możemy przeliczyć wszystkie otwarte pliki, a nawet pojedyncze arkusze. Z poziomu VBA możemy zrobić jeszcze jedną rzecz – przeliczyć zakres komórek. Jak? O tym dowiesz się z tego tekstu. Przeliczanie automatyczne i ręczne W zdecydowanej większości przypadków mamy do czynienia z przeliczaniem […]
Celowe wywołanie błędu
Celowe wywołanie błędu w kodzie makra pozwala nam świadomie sterować naszą aplikacją. Instrukcja On Error Resume Next ignoruje błędy, ale dzięki niej możemy w kodzie przejść dalej i sprawdzić czy wystąpił błąd. Instrukcja Err.Raise pozwala nam z kolei zgłosić własny błąd i dzięki temu przerwać działanie programu. Korzyści błędu Na pierwszy rzut oka temat może […]