Archive for 'Visual Basic'
[daily snippet] Excel VBA – autostart makra przy otwarciu arkusza
kwiecień 19th, 2011. Published under Visual Basic, Zabawy z kodem. No Comments.
Skoro wiemy już, jak zamknąć arkusz, przyda nam się wiedza, jak zrobić to w momencie otwarcia :)
A tak na poważnie – w niektórych firmach Excel jest używany do obróbki danych, bo interfejs jest znajomy dla większości pracowników biurowych, nie mających wiele wspólnego z komputerami. Można więc z arkusza Excelowego zrobić świetne narzędzie front-endowe. Komunikacja z dowolną bazą jest na wyciągnięcie ręki, więc niech użytkownik wprowadzi swoje dane, a VBA zrobi resztę.
W ten sposób można na przykład aktualizować stan magazynowy w sklepie internetowym. W takim przypadku przydałoby się zrobić to następująco:
[daily snippet] Excel VBA – Zamykanie dokumentu (arkusza)
kwiecień 19th, 2011. Published under Visual Basic, Zabawy z kodem. No Comments.
W kolejnej odsłonie daily snippet – jak irytować użytkowników, czyli zamykanie aktywnego dokumentu.
Kod jest prosty, jak świński ogon. A możliwości są trzy:
ActiveWorkbook.Close False ' - zamkniecie bez zapisywania zmian ActiveWorkbook.Close True ' - zamkniecie z zapisem zmian ActiveWorkbook.Close ' - użytkownik decyduje o zapisie
Życzę wielu pomyślnych zamknięć :)
[daily snippet] Excel VBA – blokowanie i ukrywanie arkusza, ukrywanie kolumny
kwiecień 1st, 2011. Published under Visual Basic, Zabawy z kodem. No Comments.
Dziś będzie krótko i łatwo. Zablokowanie/odblokowanie arkusza:
ActiveSheet.Protect ' - zablokowanie
ActiveSheet.Unprotect ' - odblokowanieUkrycie/odkrycie arkusza:
Sheets("x").Visible = False ' - ukrycie Sheets("x").Visible = True ' - odkrycie
Ukrycie/odkrycie kolumny:
Columns(zakres).EntireColumn.Hidden = True ' - ukrycie Columns(zakres).EntireColumn.Hidden = False ' - odkrycie '(gdzie np zakres = "X:Y")
[daily snippet] Excel VBA – Zaokrąglanie w górę i w dół
marzec 31st, 2011. Published under Visual Basic, Zabawy z kodem. No Comments.
Witam w nowym cyklu “daily snippet”. Nie oznacza to oczywiście, że snippety będą publikowane codziennie, ale postaram się częściej, niż zwykle. Będą to bardzo krótkie wpisy z maleńkimi (często jednolinijkowymi) fragmentami kodu. Taki zbiór przydatnych rzeczy. Krótko, więc z reguły bez “czytaj dalej”, a przynajmniej z esencją sensu posta w jego nagłówku :)
Na pierwszy ogień zaokrąglanie liczb. Excel VBA posiada funkcję Round(), która po prostu zaokrągla, ale warto wiedzieć, że można też zaokrąglać w górę i w dół, stosując kolejno:
Application.RoundUp(liczba, miejscaPoPrzecinku) Application.RoundDown(liczba, miejscaPoPrzecinku)
Na marginesie, gdyby komuś się chciało analizować kod, zanim znalazłem te funkcje, zdążyłem już napisać własne. Smacznego:
(więcej…)
Excel VBA – obsługa elementów ListBox’a
maj 12th, 2010. Published under Excel, Software, Visual Basic, Zabawy z kodem. 4 Comments.
Chcąc – nie chcąc, czasem trzeba. Jak widać, wpisy zostały zdominowane przez VBA, ale lepiej mieć content, niż nie mieć, więc dokładam znowu coś od siebie.
W dzisiejszym odcinku dowiemy się, jak wyciągnąć liczbę zaznaczonych elementów listy ListBox, jak wyciągnąć te elementy, jak dodać gotowy element do listy i na dokładkę – otrzymamy pierwszy zaznaczony element.
(więcej…)
Excel VBA – sprawdzanie, czy pozycja widnieje już na liście (ListBox)
maj 11th, 2010. Published under Excel, Software, Visual Basic, Zabawy z kodem. No Comments.
Kolejny szybki snippet, aby się nie znudzić za bardzo.
Często zdarza się, że wybieramy w jednym ListBoksie jakieś pozycje i kopiujemy je do drugiego. Nie chcielibyśmy się zdublować (zazwyczaj), dlatego też warto sprawdzić przed skopiowaniem, czy dany element na naszej liście już widnieje, czy może też nie. Posłuży do tego kolejna uniwersalna funkcja…
(więcej…)
Excel VBA – usuwanie zaznaczonych pozycji ListBox’a
maj 11th, 2010. Published under Excel, Software, Visual Basic, Zabawy z kodem. No Comments.
Dzisiaj tylko szybki snippet. Mamy sobie listę typu ListBox oraz przycisk, który ma usuwać zaznaczone na liście pozycje. Z racji, że możemy mieć kilka takich zestawów, przyda się uniwersalna funkcja, niezależna od konkretnej listy.
(więcej…)
Excel VBA i aktywne (realtime) filtrowanie ListBox/ComboBox
maj 7th, 2010. Published under Excel, Software, Visual Basic, Zabawy z kodem. 2 Comments.
Jak już wspominałem onegdaj, bywa w życiu każdego PHPowca taki moment, kiedy staje przed koniecznością napisania makra w Excelowym VBA… Nie, wróć… to chyba tylko ja tak mam. W każdym razie – czasem trzeba. Dzisiejszy odcinek poświęcimy aktywnemu filtrowaniu listy. Jak toto wygląda, każdy powinien wiedzieć. Otóż jest sobie lista As ListBox oraz pole As TextBox. I w trakcie wpisywania czegoś do pola chcemy mieć na liście tylko te wartości, które pasują do wartości pola…
(więcej…)