piątek, 30 stycznia 2015

Pętla w oknie Immediate

Myślę, że każdy programista zna i używa okna Immediate w środowisku IDE (Integrated Development Editor) w swojej codziennej pracy. Myślę też jednak, że nie każdy wie, iż w oknie immediate można wykonywać nie tylko pojedyncze instrukcje, ale także zestaw instrukcji złożonych, do których zaliczyć można pętle czy też instrukcje warunkowe.

Wyobraźmy sobie, że naszym celem jest wykonanie następujących operacji:
  • wstawienie formuły zaokrąglającej do szeregu komórek zawierającej wartości
  • odkrycie wszystkich (ukrytych) arkuszy
  • usunięcie wartości mniejszych od zera
  • itp.

Każdą z tych operacji możemy wykonać tworząc odpowiednie procedury, tyle tylko, że w tym celu musimy:
  • utworzyć moduł
  • rozpocząć procedurę Sub
  • zadeklarować zmienne
  • zamknąć procedurę
  • uruchomić ją.

Przyznam, że to dość dużo operacji jak na jednorazową akcję wykonaną dla kolekcji obiektów.

Tymczasem okazuje się, że wystarczy nam okno Immediate, w którym wpisujemy wszystkie niezbędne instrukcje rozdzielając je dwukropkiem. Dwukropek, zresztą nie tylko w oknie Immediate, jest symbolem zakończenia linii instrukcji. Przyjrzyjmy się przykładom dla w/w wybranych przypadków. Na co warto zwrócić uwagę korzystając z tej techniki:
  • deklaracja zmiennych nie jest wymagana, wręcz nie jest możliwa w oknie Immediate
  • z powodu braku deklaracji zmiennych niezbędna może być pełna deklaracja właściwości i kolekcji, np. Selection.Cells zamiast samego Selection, cell.value zamiast samego cell
  • zapis instrukcji z małych/wielkich liter nie ma znaczenia, IntelliSense w tym aspekcie nie działa w oknie Immediate
  • teoretycznie dopuszczalny jest zapis wieloliniowy jednak odbywa się to z wykorzystaniem znaku przeniesienia linii (symbolu underscore):

wtorek, 20 stycznia 2015

Uzupełnianie pustych komórek w arkuszu MS Excel

Muszę na wstępnie przyznać, że od czasu do czasu zdarza mi się przeglądać ofertę konkurencji głównie w poszukiwaniu inspiracji do tworzenia jeszcze lepszych kursów i z coraz ciekawszej oferty szkoleniowej.

Ostatnio trafiłem na stronie konkurencyjnej firmy szkoleniowej na wpis poświęcony zagadnieniu uzupełniania pustych komórek w arkuszu MS Excel. Autor w długim wywodzie prezentuje rozwiązanie oparte o układ dwóch zagnieżdżonych pętli i instrukcji warunkowych. Z pewnym niedowierzaniem przyjąłem to rozwiązanie- wyznaję bowiem zasadę, że jeżeli prezentować jakiś przykład to raczej w jego najlepszym wydaniu. Oto i rozwiązanie ciekawsze i bez wątpienia szybsze...

Zacznę może od podstawowej zasady- A w języku VBA- w pierwszej kolejności wykorzystujemy aplikację Excel i dostępne tam rozwiązania, dopiero potem sięgamy po kod VBA. Nasz problem rozwiążemy więc następująco:

  • zaznaczamy obszar
  • Menu >> Narzędzia główne >> Znajdź i zaznacz >> Przejdź do- specjalnie 
  • w oknie, które się wyświetli wybieramy Puste i zatwierdzamy przyciskiem OK
  • w pasku formuły wstawiamy formułę '=[komórka powyżej]' i wciskamy Ctrl+Enter
i to wszystko....

A jeżeli już musimy sięgnąć po  wariant z VBA to rozwiązanie problemu można osiągnąć w następujący prosty sposób:

  • zaznaczamy obszar pamiętając, aby nie zaznaczyć pierwszego wiersza (bo w przypadku pustej komórki w pierwszym rzędzie i tak nie mamy skąd pobrać wartości skoro nic nad nią nie ma)
  • jedyny kod VBA jaki musimy wykonać to:


Jak widać nie potrzebujemy pętli, instrukcji warunkowych, wystarczy prosta i skuteczna metoda.
Bardzo wiele z tego typu rozwiązań prezentowanych jest na naszych szkoleniach z programowania VBA dla Excela. W czasie prowadzonych kursów jak zawsze stawiamy na efektywne i praktyczne podejście do tworzenia programów.

czwartek, 15 stycznia 2015

Wpis reklamowy- nowe szkolenia w ofercie 2015

Pierwszy wpis w nowym roku poświęcę wyjątkowo nie zagadnieniom związanym z programowaniem w VBA, a ofercie naszej firmy na rok 2015.

Na wstępie chciałbym zwrócić uwagę na zupełną nowość jaką są szkolenia z zakresu programowania baz danych w środowisku SQL Server i TSQL. Program szkolenia został przygotowany w oparciu o praktyczne podejście do zagadnienia, a więc w sposób, który cechuje wszystkie nasze kursy. Wszystkie materiały szkoleniowe zostały opracowane przez trenera z wieloletnim doświadczeniem trenerskim i jednocześnie osobę, która posiada głęboką wiedzę merytoryczną oraz praktyczne doświadczenie w implementacji zaawansowanych rozwiązań w codziennej pracy podczas realizacji projektów dla poważnych klientów branży IT i finansów.

Program szkoleń z obszaru TSQL i SQL Server opracowany został w 4 wariantach tak, aby każdy z uczestników potrafił znaleźć dla siebie odpowiedni kurs. W ofercie znaleźć można kurs dla osób, które nie posiadają żadnej wiedzy w prezentowanym obszarze, dla osób, które posiadają podstawową wiedzę dot. relacyjnych baz danych, a także wariant kompletny- pięciodniowy, który prezentuje komplet zagadnień włącznie z technikami typu 'tips & tricks' w programowaniu w Transact SQL (T-SQL). Dla osób zainteresowanych tylko tym zagadnieniem polecamy jednodniowy kurs o nazwie 'Tips & Tricks języka TSQL'. Informacje na temat opisanych szkoleń znaleźć można pod tym linkiem.

W zakresie kursów Excel VBA na rok 2015 przygotowaliśmy małe zmiany polegające na uporządkowaniu oferty kursów i stworzeniu zalecanej ścieżki szkoleniowej.Wystarczy zaledwie 5 dni, aby poznać najważniejsze jak i zaawansowane techniki programowania w VBA. Pozostawiamy Państwu swobodę decyzji w zakresie długości kursu, w którym chcecie Państwo uczestniczyć. Umożliwiamy też dalszy rozwój umiejętności programowania przez uczestnictwo w kolejnych kursach w wybranych terminach. Elastyczna organizacja szkoleń umożliwia dołączanie do grup na wyższych poziomach zaawansowania. Informacje na temat szkoleń Excel VBA znaleźć można pod tym linkiem.