Kontrolka typu ListBox służy nam do wyboru jednej lub wielu wartości spośród długiej listy wpisów. Pracując na formularzu, często niejako wymuszamy na użytkowniku zaznaczenie przynajmniej jednej wartości. Co ciekawe, kompilator VBA odróżnia brak działania od zaznaczenia i późniejszego oznaczenia tej samej pozycji. Artykuł raczej dla osób zaawansowanych w VBA. Lista miesięcy i dni tygodnia Na […]
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 […]
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 […]
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 […]
Lista arkuszy w polu kombi
W arkuszach jak i na formularzach możemy wykorzystywać ten sam typ kontrolek ActiveX. Niewiele osób korzysta z tej pierwszej możliwości. W tym tekście pokażę jak kreatywnie wykorzystać formant ComboBox. Będzie do niego wgrana niepełna lista arkuszy z pliku. Kontrolki osadzone w arkuszu W życiu codziennym często tworzy się proste arkusze, które służą do obliczeń, ale […]
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? Właściwość Cells Co jest istotnym atutem Cells? Przykład z jedną […]