- 50
- 25 750
MACROAPPLICATIONS - Mariusz Jankowski
Poland
เข้าร่วมเมื่อ 1 ก.ค. 2020
Hi! My name is Mariusz. Experienced VBA practitioner and Excel enthusiast. For over a dozen years, I have been building applications that help corporations improve business processes.
🎡 Jak sterować typem wykresu za pomocą listy rozwijanej?
🎡 Jak sterować typem wykresu za pomocą listy rozwijanej?
มุมมอง: 245
วีดีโอ
❌ Jak zgłosić własny błąd? ➡️ Instrukcja Err.Raise
มุมมอง 2464 ปีที่แล้ว
❌ Jak zgłosić własny błąd? ➡️ Instrukcja Err.Raise
💰 Jak obliczyć dniówkę przy różnych stawkach godzinowych?
มุมมอง 5024 ปีที่แล้ว
💰 Jak obliczyć dniówkę przy różnych stawkach godzinowych?
⏱️ Jak wstawić do komórki bieżący czas wraz z sekundami?
มุมมอง 1974 ปีที่แล้ว
⏱️ Jak wstawić do komórki bieżący czas wraz z sekundami?
🌱 Jak wgrać do arkusza miniaturki produktów?
มุมมอง 9384 ปีที่แล้ว
🌱 Jak wgrać do arkusza miniaturki produktów?
⌨️ Jak klawisze F8 i F9 mogą pomóc w wyłapywaniu błędów?
มุมมอง 2984 ปีที่แล้ว
⌨️ Jak klawisze F8 i F9 mogą pomóc w wyłapywaniu błędów?
⏱️ 3 sposoby na dodanie czasu do daty w VBA
มุมมอง 5354 ปีที่แล้ว
⏱️ 3 sposoby na dodanie czasu do daty w VBA
🔢 Jak stworzyć numeryczne pole tekstowe?
มุมมอง 3814 ปีที่แล้ว
🔢 Jak stworzyć numeryczne pole tekstowe?
⚠️ Na co uważać korzystając z filtra zaawansowanego?
มุมมอง 2274 ปีที่แล้ว
⚠️ Na co uważać korzystając z filtra zaawansowanego?
📃 Jak utworzyć listę zawężającą na formularzu z uwzględnieniem wielkości liter?
มุมมอง 6164 ปีที่แล้ว
📃 Jak utworzyć listę zawężającą na formularzu z uwzględnieniem wielkości liter?
⚠️ Uwaga na funkcje SUMA.JEŻELI i SUMA.WARUNKÓW
มุมมอง 3634 ปีที่แล้ว
⚠️ Uwaga na funkcje SUMA.JEŻELI i SUMA.WARUNKÓW
⭕ Jak zaczytywać dane z prefiksem 0 bez obcinania zer?
มุมมอง 1874 ปีที่แล้ว
⭕ Jak zaczytywać dane z prefiksem 0 bez obcinania zer?
😕10 najbardziej niedocenianych skrótów klawiaturowych w Excelu
มุมมอง 4274 ปีที่แล้ว
😕10 najbardziej niedocenianych skrótów klawiaturowych w Excelu
🔒 Jak chronić dane wrażliwe w osobnym arkuszu?
มุมมอง 5074 ปีที่แล้ว
🔒 Jak chronić dane wrażliwe w osobnym arkuszu?
⬇️ Jak wyznaczyć ostatni niepusty wiersz w kolumnie?
มุมมอง 2.3K4 ปีที่แล้ว
⬇️ Jak wyznaczyć ostatni niepusty wiersz w kolumnie?
można prosić o bardziej przejrzyste wytłumaczenie?
Tak. Makro uruchamia się automatycznie, w momencie próby zapisu zmian w pliku (użytkownik np. kliknął w ikonkę dyskietki). Następnie kod sprawdza czy użytkownik kliknął opcję Zapisz..., a nie Zapisz jako... Tylko wtedy uruchomi się skrypt. Metoda SaveCopyAs pozwala zapisać aktualny plik w innej lokalizacji (określamy ją w zmiennej Sciezka). Ale aktywnym plikiem jest wciąż ten, na którym pracujemy - czyli kopia pliku tworzona jest niejako w tle.Przed zapisem, musimy jeszcze na chwilę wyłączyć ostrzeżenia - to na wypadek gdyby plik o takiej nazwie już istniał (w takiej sytuacji makro nadpisze plik).
@@MAKROAPLIKACJE a mógłby Pan zrobić odesłanie, choćby do swoich filmów, które przybliżają problematykę makr? Chciałbym się tego nauczyć.
😮
No właśnie, często robie to ręcznie, dziękuje . A co zrobić, aby tak stworzona funkcja była w każdym skoroszycie, który otworze aplikakacji MS Excel na moim komputerze. To uniwersalna funkcja i cos słyszałem, ze taka możliwość istnieje? 🙂
Proszę utworzyć dodatek do Excela (plik XLAM) i go zainstalować. Oprócz tego, że będzie Pan miał zawsze dostęp do tych makr, to ich dystrybucja będzie bardzo łatwa.
Dziękuję, tego właśnie szukałem kilka dni temu :)
Czemu juz nie nagrywasz?
Nagrywam shortsy :)
@@MAKROAPLIKACJE ogólnie to super jest to co robisz :D dzisiaj dopiero na Ciebie trafiłem, ale coś czuję, że zostanę na dłużej ... i może też się nauczę Makro :)
Super :)
Bardzo niewydajna metoda. Użyj pierwiastkowania aby znacząco zmniejszyć zakres poszukiwań.
Ok, sprawdzę temat. Póki co przychodzi mi do głowy zmiana kierunku pętli. Zaczynając od 2,3,4,5 znacząco zmniejszymy liczbę iteracji.
Najlepiej uzyc sita eratostenesa. Proste i najbardziej wydajne
Świetna robota dla samouków. Gdyby jeszcze kod był udostępniony w komentarzu byłoby idealnie.❤
Dzięki. Nie dodaję kodu z kilku powodów. 1 - Spadnie liczba wyświetleń. 2 - Gotowce rozleniwiają, jeśli ktoś chce poskromić VBA, to więcej zyska przepisując skrypt niż go kopiując. 3 - Łatwiej taki gotowy kod wkleić na swoją www 😉. 4 - Jest to też jakaś dodatkowa praca, która angażuje czas. Tematu nie zamykam - jeśli dostanę więcej próśb to rozważę zmianę. Póki co, widzę więcej minusów niż plusów.
@@MAKROAPLIKACJE tak i nie. Osobìście wolę poświęcić czas na analizę niż przepisywanie. Ale to zależy od poziomu odbiorcy Kopiści i tak potraktują to instrumentalnie.
Fajnie (szybciej) by było gdybyś wkleił kod w opisie.
Boże język Excela to jakiś horror. End if to chyba najgłupsza składnia na świecie. Widziałem end w Lua i składnię SQLa ale TO COŚ TO DLA MNIE ZA DUŻO. Jeśli chodzi o film to jest okej tylko popracuj trochę nad akcentem bo zamiast "Continuous" usłyszałem "Continiues".
W VBA jest osobna instrukcja "End", która kończy procedurę i resetuje wartości wszystkich zmiennych (w tym publicznych). Co więcej, ona jest często stosowana z warunkiem "If" - więc tu musi być "End If". "Kontinjues" jest OK - sprawdziłem wcześniej wymowę (tłumacz Google + diki) i też mnie to lekko zaskoczyło. Można się zaś przyczepić do "Non", bo powinno być "Nan" 🙂.
Świetne, tylko ciekawe, skąd akurat wiadomo, że xlDialogFunctionWizard
Kolekcja Dialogs to wbudowane okna Excela. Trzeba sprawdzić listę stałych -> learn.microsoft.com/en-us/office/vba/api/Excel.XlBuiltInDialog Jest ich dużo, więc dobrze zrobić eksperymenty np. w oknie Immediate.
@@MAKROAPLIKACJE Dzięki. Rzeczywiście, sporo tego i na pierwszy rzut oka liczba możliwości przytłacza, bo w sumie nie wiadomo do końca, który efekt będzie tym pożądanym.
@@piotr004 Tak. Zwykle jest tak, że szukamy rozwiązania konkretnej zagwozdki. To jest case z mojej aplikacji do rozliczania delegacji. Pracownicy często wpisywali tekst zamiast daty, a Excel nie ma wbudowanej kontrolki kalendarza. Trzeba było coś wymyślić 😉.
dzięki za podzielenie się ciekawymi skrótami klawiaturowymi. CTRL+F1 od dzisiaj zaczynam używać no i postaram się pamiętać o ctrl+2->5 no i alt+;
Jest możliwość aby ustawić pozycję tego wyskakującego okienka?
Tak, we właściwościach formularza wybrać: StartUpPosition. Dla wartości 0, można ustawić dokładne położenie przez Left i Top.
Mariusz, pod koniec 31 minuty dziwisz się, że Excel zapamiętuje komórkę, której (niby) usunąłeś formatowanie. Ty w zasadzie nie usunąłeś formatowania, a zmieniłeś wypełnienie z żółtego na "brak wypełnienia". Czyli użyłeś innego formatowania. :-) Jedynym skutecznym sposobem pozbycia się wcześniej używanych komórek jest ich fizyczne usunięcie z arkusza (Ctrl + "-"). Osobiście usuwam całe kolumny i/lub wiersze. Bezpośrednio po takim usunięciu, Excel nadal pamięta adres ostatniej używanej komórki. Dopiero zapis pliku w tym momencie resetuje mu pamięć. Innym sposobem na reset po usunięciu "brudnych", nieużywanych komórek (bez zapisywania pliku) jest wywołanie np. ActiveSheet.UsedRange (może być użyte w kodzie dokładnie tak, jak napisałem) lub odwołanie się do używanego zakresu, np. Set rngZakres = Arkusz1.UsedRange. Tu odwołanie się do UsedRange najpierw pomniejsza zakres (o ile powinien być pomniejszony), a dopiero potem zakres jest przypisywany do zmiennej. Problem z "brudnymi" komórkami jest nieco szerszy, ale to wykracza już znacznie poza tematykę filmu.
Sugestia z doświadczenia - warto aby przed wrzucęniem zapytać użytkownika czy kompresować zdjęcia i jakie stuki niesie za sobą brak kompresji. U mnie w firmie takie oferty bez kompresji mają po 100 MB
Zdecydowanie tak, przy dużej ilości zdjęć robi to ogromną różnicę, a zależy nam, aby taki plik maksymalnie odchudzić. Jeszcze jest jedna ważna rzecz. Trzeba zapisać plik do formatu XLSX (12MB), ten sam plik w formacie XLS to 90MB :)
Dzięki za przydatne informacje. Mała uwaga odnośnie F9 - w niewielkim ułamku procenta możemy otrzymać nieprawidłowe (a raczej niepełne) wyliczenie lub błąd który tak naprawdę błędem nie będzie. No ale to to przy niektórych bardziej zaawansowanych formułach.
Tak, to te słynne excelowe zaokrąglenia :)
Zwiń/rozwiń wstążkę -> inne możliwość to dwuklik w dowolną zakładkę z nazwą karty, np: dwuklik w "wstawianie". Ctrl+ B (jak Bold), Ctrl + I (jak Italic), Ctrl + U (jak underline) jako opcje dla Ctrl +2,3,4 ale uwaga, nie działają 2,3,4 z klawiatury numerycznej (u mnie). To tak tylko dla skrótowców. Alt + ; - nie znałem, fajny
Mam mysz z przyciskiem dwukliku, więc będę używał :) Ctrl+B, Ctrl+I, Ctrl+U są na pewno bardziej intuicyjne, natomiast tutaj wszystko jest ładnie pogrupowane od 2 do 5 i dochodzi właśnie jeszcze to przekreślenie, które czasami się przydaje. Alt+; też lubię, chociaż z tych pokazanych to jednak przełącznik filtra, F2 i F12 :)
Jeszcze taki suplement do filmu. Gdybyśmy chcieli koniecznie ukryć arkusz z cenami (najlepiej xlVeryHidden) to wtedy nie potrzebujemy korzystać ze zdarzenia Activate. Należałoby umieścić kod w zwykłym module (nie module arkusza) i przypisać do makra jakiś skrót. Osoby znające ten skrót, po jego wywołaniu, zobaczyłyby formularz. Wpisanie prawidłowego hasła odkrywałoby arkusz z cenami. Natomiast zdarzenie Deactivate musi zostać, ponieważ konieczne byłoby ukrycie arkusza z cenami po jego opuszczeniu.
Dzięki Quasi :-)