Nie każdy z programistów VBA wie, że metoda Select (wybranych obiektów) posiada dodatkowy parametr. Ogólna składnia zgodna z pomocą VBA to:
Co daje zastosowanie tego parametru? Otóż ustawienie jego wartości na False sprawi, że porzednie zaznaczenie nie zostanie odznaczone. Dwa przykłady, wywołanie 2 kolejnych następujących po sobie instrukcji:
sprawi, że zaznaczony będzie tylko arkusz 2
sprawi, że zaznaczone będą dwa arkusze: 1 i 2.
Dlaczego rozwiązanie to nie jest powszechne? Otóż Select należy do instrukcji, o których istnieniu 'się wie' od pierwszego kontaktu z VBA (Select z przesadą jest obsługiwane przez rejestratory makr). Mało kto więc zadaje sobie trud aby sprawdzić składnię tej metody. Dodatkowo IntelliSense nie przychodzi z pomocą- proszę porównać to wpisując w oknie Immediate poniższe instrukcje i wcisnąć dodatkową spację na końcu:
Tylko w drugim wariancie uzyskamy podpowiedź potwierdzającą istnienie parametru.
Z jakimi obiektami działa to rozwiązanie. Na pewno z arkuszami, kształtami, wykresami... Na pewno też działa z obiektami innych aplikacji (Word, PowerPoint). W razie potrzeb polecam weryfikację z pomocą systemu IntelliSense lub korzystając z pomocy VBA.
wtorek, 30 kwietnia 2013
czwartek, 25 kwietnia 2013
Obowiązkowe funkcje VBA
Trudno jest początkowo zapamiętać wszystkie funkcje jakie oferuje język VBA. Najczęściej początkujący adepci programowania skupiają się na funkcjach podstawowych wobec faktu, że z ich odpowiednikami pracują na co dzień w Excelu. Nie wystarczy znać jednak funkcje: Left, Right Mid czy UCase, które dostępne są w zasobach VBA.
Do napisania niniejszego postu skłoniła mnie sytuacja z jednego z ostatnich szkoleń. Chodziło o import danych z pliku generowanego przez SAP'a, w którym występowały wiersze rozdzielające strony, nietypowe wiersze tekstowe, dane były ułożone kolumnowo, ale rozdzielone nietypowymi znakami. Dodatkowo na pierwszy rzut oka trudno było dostrzec regularność. Tymczasem skuteczny import raportu do arkusza Excel udało się zrealizować tylko wykorzystując poniższe funkcje ku zaskoczeniu części grupy.
Lista funkcji, których znajomość robi różnicę nie jest długa. Warto poświęcić jednak czas i zapamiętać te, które poniżej prezentuję. Ponieważ wszystkie one są prezentowane w czasie moich szkoleń niniejszy post ma być przypomnieniem dla dotychczasowych uczestników. A dla pozostałych czytelników niech będzie testem, czy na pewno znam i potrafię korzystać z tych instrukcji.
Mid, Left, Right 'wycinają fragmenty tekstu
LTrim, RTrim, Trim 'usuwają spacje na końcach tekstu
Replace 'zastępowanie znaków
InStr, InStrRev, StrComp 'test porównania
LCase, UCase, StrConv, Format 'formatujące, nie tylko tekst
no i na koniec jedna z najważniejszych funkcji:
Split 'tablica fragmentów tekstu
Do napisania niniejszego postu skłoniła mnie sytuacja z jednego z ostatnich szkoleń. Chodziło o import danych z pliku generowanego przez SAP'a, w którym występowały wiersze rozdzielające strony, nietypowe wiersze tekstowe, dane były ułożone kolumnowo, ale rozdzielone nietypowymi znakami. Dodatkowo na pierwszy rzut oka trudno było dostrzec regularność. Tymczasem skuteczny import raportu do arkusza Excel udało się zrealizować tylko wykorzystując poniższe funkcje ku zaskoczeniu części grupy.
Lista funkcji, których znajomość robi różnicę nie jest długa. Warto poświęcić jednak czas i zapamiętać te, które poniżej prezentuję. Ponieważ wszystkie one są prezentowane w czasie moich szkoleń niniejszy post ma być przypomnieniem dla dotychczasowych uczestników. A dla pozostałych czytelników niech będzie testem, czy na pewno znam i potrafię korzystać z tych instrukcji.
Mid, Left, Right 'wycinają fragmenty tekstu
LTrim, RTrim, Trim 'usuwają spacje na końcach tekstu
Replace 'zastępowanie znaków
InStr, InStrRev, StrComp 'test porównania
LCase, UCase, StrConv, Format 'formatujące, nie tylko tekst
no i na koniec jedna z najważniejszych funkcji:
Split 'tablica fragmentów tekstu
Subskrybuj:
Posty (Atom)