Tag Archives: Excel VBA
Excel VBA – kursor myszy “hand” dla linku
luty 28th, 2012. Published under Excel, Software, Visual Basic, Zabawy z kodem. No Comments.
W poprzednim wpisie pokazałem prosty (w dodatku nie mój, co wskazałem w źródle) sposób na utworzenie linku z kontrolki Label. Ale co to za link, który po najechaniu nań myszą nie zmienia jej kursora na klasyczną “rączkę”, do której wszyscy przywykliśmy?
Jak się okazuje, nie ma możliwości pokazania takiego kursora (przynajmniej do wersji Office 2003, na jakiej pracuję) z poziomu właściwości MousePointer obiektu. Ale mimo wszystko da się, jak wykazuje GHolden w wątku traktującym właśnie o tym problemie.
Excel VBA – link dla Label
luty 28th, 2012. Published under Excel, Software, Visual Basic, Zabawy z kodem. No Comments.
Będzie krótko. Niektórzy czasem potrzebują linka zrobionego z kontrolki Label. Co należy zrobić?
- Umieszczamy
LabelnaUserForm. - Opisujemy i formatujemy (zwykle niebieski kolor i podkreślenie).
- Zdarzenie
Clickobsługujemy następującym kodem:
Private Sub LabelLink_Click() href = "http://moja.strona.pl" On Error GoTo blad ActiveWorkbook.FollowHyperlink Address:=Link, NewWindow:=True Exit Sub blad: MsgBox "Nie można otworzyć " & href, , vbExclamation, "BŁĄD" End Sub
Zrobione :)
[źródło: spreadsheetpage]
[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…)
Żenimy Excela z MS SQL Server przez VBA
luty 18th, 2010. Published under Software, SQL, Zabawy z kodem. No Comments.
“W życiu żółwia przychodzi taka chwila, że musi komuś dać w mordę”. Tak samo w życiu niektórych ludzi przychodzi taki moment, kiedy muszą zacząć programować w Visual Basicu, żeby zmusić Excela do wykonania określonych działań. Smutne to, ale prawdziwe.
Czasem pojawia się konieczność połączenia z bazą danych, pobrania czegoś z bazy danych, lub wykonania jakiejś innej barbarzyńskiej na niej operacji. Ta opowieść będzie o tym, jak to zrobić…
(więcej…)