Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
VBA - przykładowe rozwiązania
środa, 03 stycznia 2018
W komentarzu pod notką
Powinno zadziałać, także w folderze sieciowym.
poniedziałek, 08 sierpnia 2016
Jak wiadomo - makra i procedury Excela służą do automatyzacji działań, pobierania czy analizy danych. A ponieważ "apetyt rośnie w miarę jedzenia" zawsze pojawia się chęć, aby jeszcze bardziej zoptymalizować, zautomatyzować i uprościć. Może warto się zastanowić, czy da się to zrobić zupełnie bez udziału użytkownika? Tak, aby nawet nie trzeba było otwierać skoroszytu Excela? Załóżmy, że mamy plik z procedurą np. pobierającą z internetu aktualną wartość kursu waluty i zapisującą ją w kolejnych wierszach arkusza Excela. Czy nie byłoby fajnie, gdyby takie pobieranie danych odbywało się w tle, codziennie o określonej porze?
Klikając w tym miejscu - przejdziemy do modułu skoroszytu. W tym module tworzymy makro Workbook_Open i wpisujemy nazwę makra, które ma się uruchomić przy otwarciu skoroszytu. W tym przypadku do zdarzenia skoroszytu przy otwarciu - dopisane jest makro Aktualizuj, znajdujące się w module ogólnym. A na koniec - pozostaje tylko ustawienie terminu i częstotliwości, z jaką nasz skoroszyt powinien się otwierać. To już jednak nie w Excelu, a w harmonogramie zadań Windowsa. Uruchamiamy go z paska startowego Windowsa: Następnie tworzymy nowe zadanie: Następnie w zakładce Akcje wpisujemy nazwę pliku do otwarcia (po naciśnięciu przycisku Przeglądaj z prawej strony możemy oczywiście odszukać plik na dysku): Kolejny krok to przejście do zakładki Wyzwalacze: Naciskamy przycisk Nowy i w kolejnym formularzu ustalamy termin i częstotliwość. W zależności od wersji Windowsa - wygląd harmonogramu zadań może się różnić, choć zasada działania jest identyczna. Moje screeny pochodzą z Windows10.
Tagi:
makro
zdarzenia skoroszytu
14:05, marzatela ,
VBA - przykładowe rozwiązania
Link Komentarze (4) »
sobota, 21 listopada 2015
Kilka lat temu napisałam na tym blogu notkę na temat odczytu listy plików z katalogu: Odczyt listy plików z katalogu Kilka dni temu zostałam poproszona o modyfikację przedstawionego tam makra tak, aby pliki nie tylko zostały wylistowane, ale aby w skoroszycie znalazły się do nich hiperłącza. Nowe makro wygląda tak:
Plik do pobrania jest na Dropboxie: Dodatkowo jest tam umieszczone makro czyszczące zakres wprowadzanych danych.
wtorek, 06 października 2015
Z poziomu kodu VBA (zarówno w Excelu jak i Accessie) można też wysyłać maile. Jak to zrobić z wykorzystaniem programu Microsoft Outlook?
Jak widać - tworzymy obiekt Outlook.Application oraz w jego ramach - nową pozycję czyli mail (tu Obiekt MojMail). Najważniejsze właściwości to: To - adresat właściwości. Jeżeli adresatów jest kilku - ich adresy mailowe powinny być oddzielone średnikami; Jeżeli mail ma być wysłany automatycznie, bez wyświetlania go na ekranie - stosujemy metodę Send. Chcąc obejrzeć tak stworzoną wiadomość mailową (a wysłać ręcznie) musimy zastosować metodę Display.
------------------------------------------------------------------------------
czwartek, 23 stycznia 2014
Przykład prostego makra losującego 6 liczb z 49:
Makro losuje liczby i wpisuje je do kolejnych wierszy kolumny A. Wynik działania widoczny jest tu (każde uruchomienie makra powoduje inne wyniki): Procedura jest bardzo prosta i ograniczona. Przede wszystkim nie ma sprawdzania powtarzalności liczb, więc nie gwarantuje unikalności.
niedziela, 17 listopada 2013
W odpowiedzi na komentarz pod notką: Odczyt i porównanie wartości komórek z różnych plików makro będące modyfikacją przedstawionego tam przykładu. W tym przypadku - wstawiane jest łącze nie do konkretnego arkusza w linkowanym skoroszycie, a do arkusza, który był ostatnio aktywny. Makro wstawiające takie łącza może wyglądać np. tak:
I już. Sprawdzałam, u mnie ładnie działa.
wtorek, 10 września 2013
W komentarzach do jednej ze starszych notek: Odczyt i porównanie wartości komórek z wielu plików pojawił się problem z odświeżaniem łączy w pliku. Wprawdzie na podstawie przekazanych mi informacji nie wiem, co może być tego przyczyną, ale odpowiadając na prośbę czytelnika - zamieszczam makro otwierające i od razu zamykające wszystkie pliki z danego katalogu.
Mam nadzieję, ze teraz będzie działać.
wtorek, 14 maja 2013
Jak w praktyce wykorzystać funkcję VBA Split() do rozdzielenia tekstu? Sprawdźmy to na przykładzie zilustrowanym w notce o rozdzielaniu tekstu. W arkuszu mamy dane będące złożonymi ciągami prezentującymi oznaczenia faktur. Znakiem rozdzielającym jest / . Proste makro wstawiające w kolejne komórki poszczególne części każdej z takich faktur może wyglądać tak:
Pierwsza pętla przechodzi przez poszczególne komórki. Wewnątrz niej jest jest druga pętla, która odczytuje poszczególne wartości zmiennej tablicowej All. Kod wykorzystuje funkcje i metody: Efekt działania kodu makra:
piątek, 05 kwietnia 2013
Dziś przykład bardzo praktyczny - jak w arkuszu Excela dodać ułamki zwykłe?W jednej komórce jest np. 1/3, w drugiej - 1/2 - jak dodać je do siebie, aby w trzeciej komórce otrzymać wynik 5/6? Przykład takiej funkcji to
SumaUlamkow jest funkcją dodająca 2 ułamki zwykłe - określone poprzez argumenty wejściowe Ulamek1 i Ulamek2. Wprawdzie typ danych nie jest tu określony, ale należy się spodziewać, że jest to typ tekstowy czyli String. Wynika to głównie z tego, że wpisując ciąg znaków np. 1/3 do komórki - po wyjściu z niej Excel automatycznie przekształci do w datę. Musimy więc zadeklarować to jako tekst czyli wpisać na początku apostrof - oznacza to że wpisujemy tekst. Szerzej pisałam o tym w notce: Na początku funkcji SumaUlamkow następuje przekształcenie tych zmiennych czyli wyodrębnienie licznika i mianownika ułamków będących argumentami funkcji oraz przekształcenie ich w liczby całkowite. Kolejny krok to oszukanie najmniejszej wspólnej wielokrotności mianowników, rozszerzenie ułamków oraz dodanie liczników. Na końcu jeszcze tylko sprawdzenie największego wspólnego podzielnika i ewentualne skrócenie ułamka sumy. W samej funkcji użyłam funkcji VBA: Replace, InStr, Left, Right. Efekt końcowy wygląda tak:
A każdego kto ma ochotę nauczyć się VBA zapraszam tu: VBA w Excelu dla tych, którzy już coś wiedzą
niedziela, 17 czerwca 2012
O adresie względnym i bezwzględnym pisałm juz kiedyś: Kolejny krok to naciśnięcie F4. I już.
Jeśli jednak w arkuszu formuły występują w wielu komórkach - będzie to pracochłonne. Na przykład tak:
Oczywiście, przedstawiony tu przykład można modyfikować w zależności od potrzeb. Kod prosty i krótki. I działa, choć zdaje się, że dopiero od wersji Excel 2007 - nie jestem jednak pewna.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
Zakładki:
Dobre, tanie programy
Kanały Yotube
Tu warto kupować
Zajrzyj tu:
Tagi
Książki warte polecenia ![]() ministat liczniki.org Napisz do mnie!
|