Ostatni niepusty wiersz jest jednym z najbardziej popularnych tematów w całym VBA. Sprawa z pozoru wydaje się banalnie prosta. Jak się jednak przekonamy, żadne z siedmiu zaproponowanych rozwiązań nie spisuje się w 100% idealnie. Potencjalne Problemy Zastanówmy się najpierw dlaczego temat skutecznego wyznaczania ostatniego niepustego wiersza jest w ogóle taki ważny… Powodów jest kilka. 1 – Nadpisanie Istniejących Danych Największym zagrożeniem jest […]
Lista Zależna Na Formularzu
Użytkownicy Excela często używają sprawdzania poprawności do tworzenia list kaskadowych. Pierwsza lista zwykle przechowuje unikatowe wpisy np. marki aut. Po wybraniu konkretnej wartości (marki), do drugiej listy ładowane są przypisane do niej elementy (np. modele aut tej marki). Taka lista zależna jest dość łatwa do zrobienia także w VBA. Podział Drużyn w NBA Jako, że prywatnie jestem miłośnikiem sportu, zadanie to wykonam w oparciu o NBA. NBA jest zawodową ligą koszykarską i gra w niej […]
Obliczanie Dniówki
Excel jest świetny w obliczaniu czasu pracy i wynagrodzeń pracowników. Niedawno napisałem o formule, która pozwala w prosty sposób obliczyć dniówkę dla różnych stawek godzinowych. Obliczanie dniówki można jednak skomplikować. Wystarczy, że podejdziemy do tematu bardzo skrupulatnie, licząc czas pracy z dokładnością co do minuty. Pełne Godziny Robocze Niedawno napisałem artykuł o tym, jak wyliczyć wynagrodzenie pracownika przy różnych stawkach godzinowych. Sporym ułatwieniem było założenie, że czas […]
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 vUnikaty. Napisałem ją po to, aby z wybranego zakresu komórek wyciągnąć unikatową listę wpisów. Funkcja odrzuca błędy i puste […]
Kalendarz Na Formularzu – Alternatywa
VBA nie posiada kontrolki MSForms z kalendarzem, która działałaby dla każdej wersji programu Excel. Niestandardowy DTPicker potrzebuje wersji 32-bitowej – w wersji 64-bitowej kontrolka zniknie z UserForma. Jak zatem stworzyć kalendarz na formularzu, który będzie działać niezależnie od wersji Excela? Jak wybrać datę i przekazać ją do arkusza? W tym tekście opiszę pewien sposób. Funkcja DATA – Pewniak Dla Excela W Excelu daty są liczbami. Możemy więc dokonywać na nich pewnych […]
Odwołanie Do Zakresu Komórek
Odwołanie do zakresu komórek można wykonać w VBA na wiele sposobów. Przeważnie w tym celu wykorzystuje się właściwości Range i Cells obiektu Worksheet oraz właściwości Resize, Offset obiektu Range. Który sposób jest lepszy? Wszystko zależy od konkretnej sytuacji. Właściwość Range Co jest istotnym atutem Range? Łatwość definiowania zakresu wielokomórkowego. Możemy wpisać np. Range(”A1:A10”) lub zbudować cały adres za pomocą operatora złączenia. Tworzenie odwołań do wielu zakresów jednocześnie. […]