Tag Archives: daily snippet
[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…)