O, to (dosłownie) sprawa życia i śmierci ;) Zerknij do załącznika (procedura zdarzeniowa w kodzie arkusza).
Podmień Target na ActiveCell (to nie jest już procedura zdarzeniowa)...
A co tam w procedurach zdarzeniowych arkusza? Dla pewności dopisz Application.EnableEvents=false/true analogicznie jak z screenupdating
Trzeba dopisać lub zmienić warunek... Makra, z wyjątkiem procedur zdarzeniowych, umieszcza się w modułach.
Rozwiązanie? Trzeci plik (sterujący) wykonujący właściwe działania tj. wykonanie aktualizacji, przepisanie pliku y na x. Dzięki Masz na myśli stworzenie pliku trzeciego "z.xls", z którego wywoływana będzie procedura na plikach "x/y.xls", który przez cały czas działania kodu będzie otwarty?
Jednak chyba wygodniej będzie (jeśli chodzi o VBA) wykorzystać procedurę zdarzeniową. Przykład w załączniku.
Załącz przykładowy plik, bo 1 plik jest lepszy od 1000 słów. To trzeba sprawdzić w działaniu. Prawdopodobnie potrzebna będzie jakaś procedura zdarzeniowa, ale trzeba zobaczyć jak ona będzie działać przy ukrytych kolumnach.
Najprościej (rozumiem, że kod nadal dotyczy procedury zdarzeniowej) to:[syntax=vb]If Target.Column = 2 Then Cells(Target.Row, 3).Select[/syntax]
Jeśli tylko ukryć wartości, to najprościej "zabielić" czcionkę za pomocą formatowania warunkowego. Jeśli wynik formuły, to warunek podobny do numerowania wyżej. Jeśli zablokować przed edycją, to jedynie makro w procedurze zdarzeniowej.
Przy okazji chciałbym zaznaczyć że kody które zawiera szychtownica pomógł mi napisać wspanialy user adamas_nt Taa, no to niech teraz, mądrala, pogłówkuje :) Hmm, niech będzie, znam sprawę to trochę podpowiem. Skopiowałeś arkusz "jak leci" i teraz masz mnóstwo kodu w każdym arkuszu. Poza tym copy-paste kiepsko wychodzi z poziomu procedury zdarzeniowej...
Pewnie makro masz w kodzie arkusza. Musi być w module... Jeśli to procedura zdarzeniowa, wywołaj je po nazwie (Call NazwaMakraInModule)
Argumentem procedur zdarzeniowych jest zmienna 'Targret' reprezentująca "obrabiany" zakres. Wystarczy więc jeśli Target.Row zwraca 5. Czyli zamiast select i tych wszystkich case'ów: if Target.Row=5 then itd.
Musisz wyłączyć Eventy w tych makrach. Trochę dziwnie to brzmi (wyłączenie zdarzeń w procedurze zdarzeniowej), ale czasem nie ma innego wyjścia. Pamiętaj włączyć na końcu, podobnie jak z odświeżaniem - Application.Enableevents=false/true
Dobra wiadomość jest taka, że dałoby się to zrobić. Zła, trzeba w procedurze zdarzeniowej (pod przyciskiem, lub w kodzie innego makra) sprawdzać szerokość kolumn i w zależności od tego wyliczyć i ustawić właściwość Shapes().Left dla WSZYSTKICH kontrolek...
Przy takim układzie danych, szybko zaznaczyć zakres można w ten sposób: 1. klik w pierwszą z lewej komórkę nagłówka 2. Trzymając Ctrl+Shift nacisnąć strzałka w dół, a następnie strzałka w prawo Można te czynności nagrać w rejestratorze i przerobić na procedurę zdarzeniową "BeforeDoubleClick"
Sprawa dość prosta. Procedura zdarzeniowa arkusza "przy zmianie" Range(zakres).Find i przypisywanie...
Problem nie jest całkiem prosty, bo jakby był prosty, to sam znalazłbyś rozwiązanie. Nie da się sformatować wybiórczo (w sensie każdy znak osobno) wyników formuły. Cały wynik formuły musi być sformatowany jednakowo. Formatowanie wybiórcze jest możliwe tylko w przypadku stałych tekstowych. Można tu zastosować kopiowanie, tylko kłóci się ono jeszcze ze...
Pozwoliłem sobie (jako mod) posprzątać trochę w temacie ;) W załączonym pliku procedura zdarzeniowa z kilkoma zabezpieczeniami przed "popularnymi" omyłkami, opis w komentarzach + lista ew błędów w MsgBox. https://obrazki.elektroda.pl/9915430000_... Nie chciałbym tu forsować tezy o przewadze VBA nad formułami arkuszowymi, ale napisanie...
Klasyczne pola wyboru czy opcji przy dużej liczbie kontrolek są trudne do obsługi. Sugerowałbym raczej rozwiązanie zastępcze z użyciem VBA. Coś takiego wstawiłem do przykładowego arkusza. W kolumnach B i C są tam wstawione do komórek znaki Unicode przypominające znak akceptacji i pusty prostokąt. Do obsługi tego jest makro zdarzeniowe, które reaguje...
Spróbuj procedury zdarzeniowej. Np [syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("K5:K13")) Is Nothing And Target.Count = 1 Then For Each kom In Range("B3:F7") If kom.Value = Target.Value Then kom.Font.Bold = True Else kom.Font.Bold = False End If Next End If End Sub[/syntax]Wklej w kod arkusza,...
jak to zrobić aby w przypadku braku danych po naciśnięciu Button'a wyskoczył msgbox "Wprowadź dane" i program czekał na te dane nie "idąc" dalej i dało sie te dane wprowadzić w tym czasie do textbox'a Zastosuj dla tego pola tekstowego procedurę zdarzeniową TextBox1_Exit z instrukcją "If", jak masz to zrobione, oraz z "Cancel = 1", np.: [syntax=vbscript]Private...
Np taką procedurą zdarzeniową (wklej w kod arkusza)[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) Dim wrs As Integer If Not Intersect(Target, Range("B9:B20")) Is Nothing Then If Target = "wybierz z listy" Then wrs = Target.Row + 23 'czyścimy Target.Offset(0, 1) = 0 Cells(wrs, 6) = 0 Cells(wrs, 7) = 0 End If End If End Sub[/syntax]Rozumiem,...
Dobry wieczór, Nie da się chyba tego zrobić w sposób oczywisty, ale jakoś można, stosując pewne "sztuczki". Przede wszystkim w komórkach, w których mamy wprowadzać dane i wykonywać obliczenia muszą być odpowiednio sformatowane (niestandardowo). Podam 3 sposoby (żaden nie jest idealny, ale jest z czego wybrać). Sposób 1 - najbardziej naturalny Format...
To jest procedura zdarzeniowa z trzyargumentową podprocedurą (tak było mi wygodniej). Po umieszczeniu w kodzie arkusza, "sama" się uruchamia. Tzn uruchamia się przy zmianie wartości w dowolnej komórce ;) Ustawienia są w 4-ech miejscach: 1. nagłówkowa kolumna tabeli źródłowej - "Set zakres_wierszy_zrodlowych" 2. nagłówkowy wiersz tabeli źródłowej - "Set...
No i jak zrobić żeby wyszukał z kilku arkuszy??? Zrobiłbym tak: Wyszukiwanie i składanie stringu dla etykiety umieściłbym w osobnej funkcji, do której z głównej procedury zdarzeniowej przekazywało by się argumenty: tekst wyszukiwania i nazwa arkusza, a która zwracałaby string dla etykiety. W zależności od tego ile masz magazynów (arkuszy) zastosowałbym...
Pierwszą część możesz wygodnie zrealizować przy pomocy procedury zdarzeniowej, gdzie warunkiem jest zaznaczenie minimalnej ilości komórek (można ograniczyć do zakresu, kolumn, etc). Przykład dla zaznaczenia >3[syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 3 Then For Each kom In Target If kom.Row / 2 =...
Mógłbyś być bardziej precyzyjny. To jest procedura zdarzeniowa, więc uruchamia się gdy zajdzie zdarzenie polegające na zmianie zawartości (treści) komórki w zakresie C1:C10. Chodzi o to czy te komórki będą wypełniane pojedynczo czy hurtem (np. przez kopiowanie). Teraz napisałeś tak, że nie wiem czy ta procedura ma się wykonać jednorazowo po zapełnieniu...
Nagraj sobie makro zapisywania. Poniżej zarejestrowane (bez korekty) dwa: "Zapisz jako" oraz Ctrl+s (zwykłe zapisz) http://obrazki.elektroda.pl/3841968300_1... i wybierasz z listy. Aby oprogramować komórkę/zakres potrzebujesz procedury zdarzeniowej [url=http://dzono4.w.interiowo.pl/kurs/d... Tu należy warunkowo wywołać...
Staram się... OK, nagrałem sobie makro, usunąłem co niepotrzebne, dodałem co niezbędne i wyszło coś takiego Znalazłem taki kod ale nie wiem jak go pod siebie przerobić Nie mam pojęcia czy zakres dla procedury zdarzeniowej (określony argumentem: "Me.ListObjects("Lista1").Range.Columns(... ma u Ciebie zastosowanie, czy nie. Może bierzemy się za przerabianie...
Chyba złapałem. Moim zdaniem nie powinna to być procedura zdarzeniowa, a zwykłe makro. Jeśli chodzi o coś takiego: http://obrazki.elektroda.pl/4353087600_1... Spróbuj w ten sposób For Each kom in zakres .
Zależy jak to jest w arkuszu = potrzebny załącznik z przykładem. Ale bez VBA i procedury zdarzeniowej najpewniej się nie obejdzie.
Ależ "zakręcony" ten kalendarz. 1. zmieniłem warunki w procedurze zdarzeniowej 2. dołożyłem zmienną globalną "WybranaData" 3. zmodyfikowałem kod klawisza [OK] oraz procedury zdarzeniowej 4. dołożyłem procedurę Activate w 'CalendarForm' - zerowanie wartości W międzyczasie zmieniłem załącznik (data w Label'u). Powinno być OK
Poczytaj trochę o procedurach zdarzeniowych, a "załapiesz" w 10 minut: [url=http://www.elektroda.pl/rtvforum/to... [url=http://dzono4.w.interia.pl/index.ht... Tu kod dla obu przypadków (niepotrzebne skreślić):[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) 'wariant pierwszy Dim ostW As Long If Target.Address(0, 0)...
Chyba nie ma sposobu przeniesienia formatu tekstu formułą. Nie wiem jak to jest w najnowszych wersjach Office. Będzie trzeba napisać procedurę zdarzeniową (copy/paste).
Najprościej oprogramować kolumnę "firma" (procedura zdarzeniowa). Wyślę, że worksheetFunction.VlookUp wystarczy. Jeśli znajdzie wpisuje, jeśli nie, zostawia pustą...
Jeśli nie ma górnego ograniczenia dla wprowadzanych liczb procedurę Walidacji można zapisać też tak: [syntax=vb]With ark.Range("E6:F" & dstW).Validation .Delete .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _ Operator:=xlGreater, Formula1:="0" .IgnoreBlank = True .InCellDropdown = True .InputMessage = "Wprowadź liczbę całkowitą" .ShowInput...
Najprościej: Nazwanie zakresów, procedura zdarzeniowa i coś w razie pomyłki.
To jest właśnie to. Procedura zdarzeniowa "Przy otwarciu skoroszytu". Brawo!
Może trzeba skorzystać z innej funkcji Target.* ? Musisz trochę poczytać n/t VBA szczególnie o procedurach zdarzeniowych :!: :D Przy zdarzeniach typu Change wywoływana jest automatycznie procedura w momencie zmiany stanu (tj. wartości) w określonym zakresie komórek (ten zakres określony jest zgodnie z definicją mianem Target ). Jeśli chcesz wykorzystać...
Dla formuły najłatwiej z kolumną pomocniczą (B w przykładzie). Makro, to po prostu Ctrl+[Strzałka w dół] przy pustym nagłówku (tu procedura zdarzeniowa).
Takie coś: http://obrazki.elektroda.pl/8129970200_1... Może lepiej sprawowałaby się procedura zdarzeniowa 'Worksheet_Activate' w 2-gim arkuszu...
Do czego się odwołujesz? Przy procedurach zdarzeniowych, zmienna reprezentującą jest "Target". Wypróbuj Target.row, Target.offset, lub t.p.
Wklej w kod arkusza (nie do modułu) - to procedura zdarzeniowa. Tak, "układa" dane w wierszach. Edit: Oj chyba "kopnąłem się" o jedną kolumnę. Plik w załączniku poprawiony...
Najlepiej zrealizować to w procedurze zdarzeniowej przy zmianie. Ograniczać zakres już umiesz ;) If Not Intersect(Target, Range...
Dołożyłem co nieco do pliku kolegi lewar81 . Kolumna pomocnicza dla formatowania warunkowego (S) + dwie procedury zdarzeniowe. Trzeba tylko przetestować i dopieścić.
Na przykład za pomocą takiej procedury zdarzeniowej w module arkusza: [syntax=vbscript]Private Sub DTPicker21_Change() Range("a3").Value = DTPicker21.Value End Sub[/syntax]
Chodzi mi o procedury zdarzeniowe dla obiektu ActiveWorksheet, a konkretnie Worksheet_Activate() dla arkusza "ZALEGŁOŚCI",czyli ten kod nad którym pracujemy ma być uaktywniony w momencie wchodzenia do arkusza "ZALEGŁOŚCI"
'Workbook_Open', jak sama nazwa wskazuje, dotyczy skoroszytu i jest jego procedurą zdarzeniową (prawa lista rozwijalna na górze okna edytora).
Propozycja makro łączącego komórki tak jak chciałaś. Makro wykorzystuje dane z kolumn H i I, zastępuje formuły w komórkach scalanych. Usuwa formuły w kolumnie J (aby umożliwić modyfikację danych w razie potrzeby). Nie ingeruje w formatowanie warunkowe, które było już ustawione w arkuszu. Makro jest zapisane w module uniwersalnym. Działa w arkuszu aktywnym....
Nie bardzo rozumiem, o jakiej czynności mówisz. Czy chodzi o wyświetlenie kolumn od bieżącego dnia? Jeśli tak, to makro FindDay podpinasz pod przycisk i wszystko. Wtedy możesz usunąć te procedury zdarzeniowe Workbook_Open i Worksheet_Activate. Aktualną datę zwraca funkcja Date, więc nic nie trzeba dopasowywać.
Szybciej byłoby gdybyś sprecyzował od razu... Zerknij do załącznika, przetestuj (zwróć uwagę na procedurę zdarzeniową arkusza), dostosuj do własnych potrzeb.
Musisz sprowadzić makro do działania dla jednej kolumny. W załączniku przykład z wykorzystaniem modułu, procedury zdarzeniowej i przekazaniem argumentu (Nr kolumny), zdaje się bardziej zrozumiały od offset'owania...
A konkretnie? Jeśli chcesz przerobić procedurę zdarzeniową na sub, użyj zakresów lub pobierz adres lub wiersz, kolumna aktywnej komórki/zakresu...
W załączniku przykład procedury zdarzeniowej dla zakresu F4:I4. Warto też zajrzeć [url=http://www.rondebruin.nl/tips.htm]t... aby poszukać rozwiązań kwestii poruszonych przez kolegów.
dziękuje bardzo za pomoc, wszystko działa, cieszę się bardzo z kolejnej lekcji, VBA jest wciągające, najważniejsze jest zrozumieć to co inni podpowiadają - teraz jestem mądrzejszy o procedury zdarzeniowe arkusza, pozdrawiam.
Jakoś źle przeczytałem, myślałem, że chodzi o 2 skoroszyty. Jeśli w arkuszach w tym samym skoroszycie, to nawet prościej, bo wystarczy jedna definicja listy, natomiast procedury zdarzeniowe muszą być w każdym arkuszu osobne, albo jedna wspólna na cały skoroszyt, jeśli arkuszy ma być więcej niż dwa.
Zdefiniuj obszar wydruku z menu Dane i nie musisz przejmować się zakresem spoza niego. Jeśli obszar jest dynamiczny możesz określić go (Sheets(nazwa).PageSetup.PrintArea=zakre... w procedurze zdarzeniowej Workbook_BeforePrint. Lub w tej samej procedurze usunąć wszystko, co "wystaje" poza określony zakres...
Ideałem byłby Excel czytający w myślach :) Można wstawiać znak równości procedurą zdarzeniową arkusza, ale przy odejmowaniu i dzieleniu i tak musiałbyś zaczynać od apostrofu, żeby komórka nie została automatycznie sformatowana jako data. Szkoda zachodu.
Noo, jak by to powiedzieć... napisałem ;) Kliknij prawym klawiszem w zakładkę arkusza i wybierz 'Wyświetl kod' Znajdziesz tam procedurę zdarzeniową arkusza. Z prawej u góry jest lista wszystkich dostępnych procedur. Wybierz sobie którąś i pokombinuj. Do niemal wszystkich, jak można zauważyć, przekazywany jest argument 'Target'. To zmienna obiektowa...
Prawidłowo powinno się włączyć ochronę arkusza i odptaszkować całość z wyjątkiem tej kolumny. Jakimś wyjściem jest procedura zdarzeniowa z włączoną ochroną VBA. Ale dla średnio rozgarniętego Usera dość łatwe do "złamania". Spróbuj: hasło dla kolumny "elka", dla VBA standardowe na elektrodzie ;) Ale nie wiem czy to ma jakikolwiek sens, bo podejrzeć co...
Nie rozumiem logiki tej pętli. Zastosowałbym procedurę zdarzeniową, która po wpisaniu "2" w kolumnę "C" z automatu przeniesie wiersz do arkusza wynikowego. Wiersze chcesz umieszczać jeden pod drugim w kolejności wg Lp, czy rozstrzelone, jak w załączonym (kod) przykładzie?
Ad 1. Określasz to w procedurze zdarzeniowej arkusza. W załączniku przykład ograniczający otwarcie formularza przez podwójne kliknięcie dla żółtych zakresów. Ad 2. Kod w module klasy. Przy "BeforeDoubleClick" trzeba wyłączyć edycję: Cancel=True
No niestety, tak już jest z funkcjami tego typu. Pozostaje klawisz [F9] lub procedura zdarzeniowa (przy zmianie) przeliczania w kodzie arkusza. [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) Me.Calculate End Sub[/syntax]
Tak. W procedurze zdarzeniowej worksheet_change, w pętli For Each porównuj komórki zakresu wyłączając Target z wartością Target... Funkcją Replace "podstaw" pusty znak pod wszystkie cyfry i znak minusa.
Zdaje się, że bez VBA się nie da... Można Np wydzielić kolumnę/obszar dla uruchomienia procedury zdarzeniowej, otwierającej hiperłącze (a dokładniej zawarty w nim adres) w IE. [url=http://excel.tips.net/T009835_Speci...
Dobry wieczór, Podejrzewam, że problem wynika stąd, że przy masowym kasowaniu danych Target składa się z wielu komórek, a procedura zdarzeniowa przewiduje obsługę tylko jednej komórki. Proponuję dopisać na początku procedury: [syntax=vb]If Target.Count > 1 Then Exit Sub[/syntax] Może to wystarczy. Pozdrowienia.
Chodzi o to, że ręcznie wpisuję długość i szerokość geograficzną. I przykładowo mogę wpisać 70 minut (co jest błędem) i program na to nie zareaguje, bo nie mam miejsca gdzie mógłbym wpisać warunek, że liczba musi być <60. W jakiej procedurze zdarzeniowej StringGrida wpisać ten warunek (onClick, OnEnter) ?
Jeśli w komórce ma znajdować się funkcja, to nie wstawisz daty "na stałe" (tego nie doczytałem). Należałoby skopiować zawartość i wkleić przez 'wklej specjalnie'>wartości. Najprościej: w komórce zastosować arkuszowe JEŻELI, a w kodzie arkusza umieścić procedurę zdarzeniową (Np przy dezaktywacji), która powyższe wykona automatycznie.
O ile z zablokowaniem "Zapisz jako" nie ma większych problemów (argument SaveAsUI w procedurze zdarzeniowej Workbook_BeforeSave) jeżeli możesz odpowiedzieć to jaki kod wpisać "Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) End Sub" aby faktycznie zablokować możliwość zapisu jako?
Coś zmienię... To znaczy, że możesz zmienić "coś" w kolumnie "A", "L", "N"? Potrzebny jest jakiś klucz. Jeśli dane w w/w kolumnach nie ulegają zmianie w żadnym przypadku, to... już go mamy. Nazwa arkusza z kolumny A i przepisanie danych do wiersza, gdzie L i N są takie same, w procedurze zdarzeniowej arkusza. Potwierdź, lub wyjaśnij dokładniej :)
Warunek w procedurze już jest, więc wystarczy zamiast Exit Sub dopisać wstawianie wiersza (nagraj rejestratorem) oraz z lekka skorygować resztę. Przyjmij zasadę "Od procedur są moduły i koniec", stąd moja uwaga o kropkach w argumentach Range ;) W kodzie arkusza zapisuje się procedury zdarzeniowe i makra kontrolek umieszczonych w arkuszu, lub jeszcze...
Po mojemu wystarczy sprawdzić komórkę w kolumnie I, jeśli pusta (pierwszy wpis) to... Np taką procedurą zdarzeniową [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 4 And Target.Offset(0, 5).Value = "" Then Target.Offset(0, 5) = Target.Value End If End Sub[/syntax]
Jest to procedura zdarzeniowa w 'thisworkbook' reaguje na tworzenie nowego arkusza (gdy tworzysz nowy arkusz uruchamia się to makro i dodatkowo kopiuje 'template' wtedy masz 2 arkusze podepnij to pod przycisk tak jak w poście 1 [syntax=vbscript]Sub add() ActiveWorkbook.Sheets("Template").Copy After:=ActiveWorkbook.Sheets("Template") On Error GoTo Wrongname...
Można, wykorzystując VBA. Procedura zdarzeniowa przy otwarciu pliku lub aktywowaniu arkusza. Nagraj makro Formatowanie>Ochrona wiersza. Początek makra to założenie ochrony na wszystkie (Cells), następnie odblokowanie wybranego wiersza. Np w pętli, przez wyszukanie (Find), lub przez wskazanie (jeśli daty występują kolejno). Na początku oczywiście zdejmowanie...
Może w sposób następujący: Ad.2 Zmieniłem formułę formatowania warunkowego. Nie wiem czemu służyło 'LICZ.JEŻELI', więc usunąłem. Ad.3 Procedura zdarzeniowa arkusza + (najprościej) ukrywanie kolumn. W obu przypadkach skróciłem zakresy. Nie znam miesiąca, który miałby 32 dni. Może w jakimś innym kalendarzu? ;) P.S. Pliki wersji >2003 trzeba spakować (ZIP,...
Dokładnie chodzi o pracę w raporcie, w którym zaznacza się ważny tekst/komórki, w zależności od zmiany. Podaj ze trzy przykłady takich ciągów (w edytorze forumowym też można zmieniać kolor czcionki, więc zrób to tak, jak wygląda w realu). Istnieje sposób na sprawdzenie koloru znak po znaku w całym ciągu. Może trzeba będzie podejść do tego jeszcze inaczej...
1. Prosta pętla w przy otwarciu pliku (kod w ThisWorkbook), kopiuj>wklej specjalnie>wartości, testująca daty. Nawet jeżeli wcześniejsze wartości zostaną wklejone ponownie jako wartości, nie powinno zająć to wiele czasu. 2. Arkuszowa procedura zdarzeniowa z ograniczeniem do kolumny "L", wpisująca i ew. usuwająca formuły. Można wykorzystać Range.Autofill...
W Workbooks_Open przypisz datę zmiennej. Np ostData=Date-1 'dla wczorajszej W procedurze zdarzeniowej szukaj maksymalnej w 4-tej kolumnie adam = Application.WorksheetFunction.Max(Co... Porównanie (adam < ostData) zdaje się już wpisałeś. Wartość daty dopasuj eksperymentalnie.
Spróbuj z procedurą zdarzeniową arkusza. Np[syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$B$7:$C$13" Then MsgBox "Tu akcja. Np zaznaczenie" Range("a1:a20,b1:b6,b14:b20,c1:c6").Sele... End If End Sub[/syntax]
Do poprzedniego kodu dołożyłem ukrywanie wierszy. Ponieważ jest to procedura zdarzeniowa, może być również uruchamiana makrem. Jeśli jakiś kod wpisze do komórki A3 numer tygodnia, to również ta procedura się uruchomi (nie trzeba naciskać Enter). Także gdy ręcznie wkleisz do tej komórki jakąś liczbę, również nie trzeba Enter. Ponieważ nie chcesz podać...
Mam dwie tabele: SAMOCHODY Private Sub Lista0_DblClick(Cancel As Integer) Chciałbym, żeby w tej procedurze zdarzeniowej wywołała się kwerenda: SELECT * FROM SAMOCHODY WHERE SAMOCHODY.marka = < kliknięty dwukrotnie element listy z tabeli MARKI (MARKI.marka) > Próbuję metodą DoCmd.OpenQuery , ale tu chyba nie da się przekazać parametru marka - wybranego...
Zdaje się, że chodzi o formularzowe w arkuszu? Jakie by nie było, najprościej przez Select Case po indeksie. W przypadku formularzowego, zdefiniuj komórkę łącze, Np A1. Wtedy byłoby coś w ten deseń[syntax=vb]Sub Polelisty1_Zmienianie() select case Range("a1") case 1: msgbox "wybrałeś poz.1" case 2: msgbox "wybrałeś poz.2) case n: (...) end select End...
witam Musisz pamiętać, ze każdy TButton ma (między innymi) dwie procedury "zdarzeniowe" onClick i onTap ... zgadnij którą generujesz "tap-ując" palcem na ekranie no tak , oj ja głupiutki ,,, ale to moje początki ;) wieczorem sprawdzę czy na androidzie 4.x będzie odpalać bez problemu . Jak bedzie i tu problem to po robocie . Powiedz mi jeszcze czy przed...
Sprawa z pobieraniem danych z zamkniętego pliku jest o tyle trudna, że żadna przydatna w takim przypadku funkcja na takowych nie działa (Np ADR.POŚR) Pozostaje VBA. Poszukaj informacji n.t. ExecuteExcel4Macro, Np [url=http://vba4all.blog.onet.pl/czytani... Można ją zastosować jako procedurę zdarzeniową podstawiając...
Ad.2 Kopiowanie wiersza z przysikiem, to żaden problem. Problemy zaczynaja sie przy usuwaniu wierszy, bo przycisk zostaje i zwykle nakłada się na następny. Po jakimś czasie może być ich mnóstwo "na kupce" Ad.1 Napisać makro wg Twojego opisu, to, na oko, żaden problem. Sugerowałbym którąś z procedur zdarzeniowych arkusza (Np Change dla kolumn H, I, J,...
Ojej, nie myślałem, że weźmiesz to dosłownie ;) Już tłumaczę i objaśniam: 1. Nie możesz stosować dwóch procedur o tej samej nazwie. W Twoim przypadku zdublowałeś Worksheet_Change . 2. W poruszonej procedurze zdarzeniowej, przekazywany jest argument typy Range , zadeklarowany jako zmienna Target . Obiekt Range posiada własności (members), stąd skrót...
Coś już wykminiłem, jednak ciekawe że kod: [syntax=csharp] public partial class Form1:Form { public Form1() { InitializeComponent(); button1.Click += myButton_Click; } private void button1_Click(object sender,EventArgs e) { MessageBox.Show("Procedura zdarzeniowa #1"); } private void myButton_Click(object sender,EventArgs e) { MessageBox.Show("Procedura...
Jeśli chodzi o procedurę zdarzeniową, to istnieje pewien haczyk. Instrukcja UCase powoduje zmianę. Należałoby najpierw sprawdzić kod znaku i jeśli jest to litera mała, wyłączyć zdarzenia i dokonać zmiany, zastosować licznik lub jeszcze inne rozwiązanie. W innym przypadku Excel zawiesi się nie mogąc skończyć procedury. Zmiana uruchomi makro, które dokona...
z zaznaczonym kształtem klikam "Makra" we wstążce "Widok" => "Utwórz" => Tak, gdybyś tworzył procedurę Sub. W tym przypadku potrzebna jest procedura zdarzeniowa. 1. Klik prawym p.m. na zakładce arkusza (u dołu ekranu)>wyświetl kod 2. U góry edytora są dwie listy. Z lewej wybierasz Worksheet, z prawej procedurę. W naszym przypadku Change. Do procedury...
Jeśli procedura zdarzeniowa to: http://obrazki.elektroda.pl/5575948000_1... Następnie wybierz interesujące się zdarzenie z listy po prawej. Argumentem przekazywanym do procedury jest przede wszystkim zmienna Target jako zakres. Z nagranego makra podstaw instrukcje, podstawiając nazwę zmiennej w miejsce odwołań do zakresu. Np Target.Copy...
aby po zeskanowaniu określonego kodu kreskowego było uruchamiane makro Makro ma zapisać i drukować zeskanowane informacje z kodu kreskowego Procedura zdarzeniowa Worksheet_Change: W przestrzeni wolnej między wierszami mam zamiar zapisać taki kod. Czy to jest możliwe? Co jest możliwe ? Wprowadzenie kodu kreskowego w "wolne przestrzenie międzykomórkowe",...
Te dwie listy trudno połączyć, bo one działają na innych zasadach. Do tej, która bazuje na poprawności danych można dodać procedurę zdarzeniową powodującą rozwinięcie listy po zmianie komórki aktywnej na tą z listą. Nie wiem, czy to wystarczy. W każdym razie jak komórka jest już wybrana i ponownie klikniemy w nią, to lista się drugi raz nie rozwinie,...
Tak się zastanawiam. No wszyscy macie rację, ale... Po pierwsze: gdzieś ten kod musiał powstać. Dlaczego nie zastosować eksportu do pliku *.bas (moduł)? Ręcznie - dwa kliknięcia. W przypadku makra, to tylko jedna linijka kodu. Usunięcie modułu to druga.[syntax=vb]ThisWorkbook.VBProject.... ThisWorkbook.Path & "\Module1.bas"...
Nie sprawdzisz w ten sposób komórek w zakresie. Trzeba je albo wymnożyć przez siebie (jeśli jedna z nich jest ujemna, wynik będzie liczbą ujemną), ale co z zerem? Można sprawdzać kolejno w pętli. Prościej i właściwiej byłoby jednak wykorzystać procedurę zdarzeniową arkusza, sprawdzając wartość na bieżąco. Wklej w kod arkusza , nie do modułu[syntax=vb]Private...
Wygląda to trochę inaczej niż założenia o jakich była mowa w pierwszym poście, tematy się powtarzają. Dla filtra potrzebna będzie lista unikatowych nazw tematów, realizowana w arkuszu przez wstaw>wklej specjalnie i dalej jak w moim przykładzie. Lub makro (uruchamiane np przy aktywacji arkusza "Menu") z wykorzystaniem tablicy, jeśli ma to działać automatycznie...
Pierwszy link po wpisaniu hasła "excel procedury zdarzeniowe" w znanej wszystkim wyszukiwarce [url=http://dzono4.w.interia.pl/kurs/dod... Opanuj podstawy, czyli co gdzie i jak zrobić, aby arkusz "reagował" na zdarzenia. W tym przypadku najlepiej wykorzystać 'Worksheet_Change' (przy zmianie). Nagraj sobie makra włączania i wyłączania...
Z czystego lenistwa :) lubię proste rozwiązania. Dla pewności sprawdziłbym też kolumnę B. A nuż olej występuje w różnych opakowaniach z tą samą nazwą w kolumnie A. Przykład procedury zdarzeniowej. Aktualizuje ceny przy zmianie w kolumnie C. [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("c2:c100")) Is Nothing...
1. Jeśli chodzi o OLE to nie ma znaczenia czy wstawiasz obiekt typu Arkusz Excel'a, czy bazę Access'a. Tak naprawdę VB uruchamia program, w którym plik był napisany. Jedynym warunkiem jest to, że musisz mieć zainstalowanego Office'a. Ale to pewnie już wiesz. 2. Generalnie to ten sam język. Formularze, pętle, procedury, komunikaty itd działają identyczne....
AAA to oto chodzi. A spróbuj użyć scanf. Chociaż najlepiej zrobić to w WinApi o ile system to Winda. HWND global_hEdit,global_hPrzycisk; //------------------------To w funckji WinMain hPrzycisk = CreateWindowEx(0, "BUTTON", "Pobierz tekst", WS_CHILD | WS_VISIBLE, 100, 50, 100, 30, hwnd, NULL, hInstance, NULL); hEdit = CreateWindowEx(0,...
Potrafisz zbudować "formuliska" długie na pół metra, a z "makierkiem" sobie nie poradzisz? Trochę wiary w siebie! W skrócie. Nagrywasz rejestratorem czynności, usuwasz nadmiar kodu, zaglądasz do pętli "konkurencji", tworzysz makro, cieszysz się działaniem. Prawym p.m. w zakładkę arkusza '2014' (u dołu ekranu), wybierz "Wyświetl kod" i wklej taką procedurę...
rozmiar procedury ds1307 procedury procedury mysql
citroen xsara centralny zamek bosch agregat prądotwórczy prawy przycisk myszka
radio kasety zmieniarka agregat prądotwórczy inwerter
Błąd techniczny w pralce Miele, Bosch, Samsung, LG Stukanie w urządzeniu podczas pracy - przyczyny i rozwiązania