Cześć, nie znam języka Visual Basic, ale w związku z moją pracą na arkuszach exelowskich potrzebuję stworzyć makro, które automatycznie dodaje mi wiersz ze skopiowanymi niektórymi danymi z wiersza powyżej. Makro ma działać na tej zasadzie, aby po zmianie wartości na 1 w każdej komórce w kolumnie AG...
Witam sympatyków MS Excel W sieci znalazłem dwa ciekawe kody oraz makro, które chciał bym ze sobą połączyć tak żeby działały poprawnie we wspólnym arkuszu. Jak większość uczących się VBA napotkałem problem. Na jednej stronie znalazłem dość ciekawy opis formatowania warunkowego wraz z kodem VBA...
to makro do "zabawy" Dodano po 2 jeszcze dwie wersje.... Pierwsza ile_wierszy, to może być niemal dowolna liczba sprawdzonych wierszy , można wpisać nawet tyle ile wierszy ma cała kolumna (zależy od wersji Excela) Chodzi o to by nie sprawdzać całej kolumny bo to może potrwać.... Skopiowane zostaną...
Witam wszystkich serdecznie, Od kilku dni szukam pomocy dotyczącej napisania w Excelu makra które jak w dawnej wersji excela 2003 mozna byloby po najechaniu na nazwe zobaczyc podgląd produktu za pomoca komentarza. Zdjęcia znajdują się w tym samym katalogu co dokument excel. Okienko podgladu moze być...
Najpierw zamieniłem w kodzie nazwę formuł kalendarzy: z nazwy Kalendarz na obecną nazwę CalendarFrm Tak wyglądał kod kalendarza oraz komunikatów o błędzie daty, przed jego połączeniem. [syntax=vb]Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'check cells...
Witam, Bardzo dziękuje za pomoc !!! Ale chyba za „cienki jestem” aby zrozumieć zastosowane funkcje i ich składnię – prośba o wyjaśnienie … jak te makra mają działać – i które kolejno: A. - które makro ma być wywołane jako pierwsze … i w jaki sposób ? B....
Cześć. Sprawdź takie makro wykonywane w zdarzeniu "Change" arkusza: [syntax=vbnet]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count <> 1 Then Exit Sub If (Target.Column = 1 And Target.Offset(0, 2).Value = "") Then Target.Offset(0, 2).Value = Date End If End Sub[/syntax]
Witam, Szukam rozwiązania do rozliczania stanów magazynowych: KOD NAZWA SPRZEDANO REGAŁ 1 REGAŁ 2 REGAŁ 3 SUMA Detal 1 Koło 10 55 42 Detal 2 Piasta 12 21 34 [/table] Chodzi o odejmowanie stanu tak aby można było zerować stan w kolumnie REGAŁ 3 a w przypadku gdy...
adamas_nt mogłeś zrobić obsługę edycji więcej niż jednej komórki (np. gdyby autor zechciał wkleić do arkusza jakieś dane). Kod kolegi adamas_nt po mojej aktualizacji: Private Sub Worksheet_Change(ByVal TargetCells As Range) Dim tmp As Variant Dim tablica() Dim wrt As Integer,...
Można pokombinować z funkcją WYBIERZ a godzinę wstawiać kombinacją Ctrl+Shift+":" Prościej (wygodniej) jednak będzie wykorzystać VBA. Wklej w kod arkusza, wypróbuj i dostosuj do własnych potrzeb Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1...
Witam, Można użyć prostego makro - tylko nie wiem, czy o takie coś chodzi koledze: [syntax=vb]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim x As String If Target.Value = "" Then Exit Sub x = Replace(Target.Value, " ", "*") If Left(x, 1) <> "*" Then x =...
Pozwolę sobie odpowiedzieć: zmień deklaracje typu zmiennych i będzie ok. Dim Nazwa_1 As Integer Dim Nazwa_2 As Integer Na Dim Nazwa_1 As String Dim Nazwa_2 As String Integer to liczby całkowite a String to ciąg tekstowy do którego też można zaliczyć "wizualnie" liczby (czyli liczby i cyfry...
Czy możliwe jest stworzenie w excelu takiej formuły... Nie, nie ma takiej formuły. Pozostaje użycie VBA. Sprawę "załatwia" Np taki, umieszczony w arkuszu Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 4 And Target.Column = 12 Then Cells(19, 7).Select If Target.Row...
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...
Zobacz w załączniku, czy ta propozycja spełnia Twoje oczekiwania. To jest makro zdarzeniowe, które reaguje na wpis dokonany ręcznie (nie przez makro), ale można kopiować z innej komórki. Wypełniać komórki można tylko pojedynczo. Jeśli chce się zmienić proporcje składnika, trzeba usunąć wpis istniejący...
Napisałem krótki kod w VBA, który tworzy mi historię edytowania każdej komórki z danego zakresu w komentarzu. Pokazuje też, kto wprowadził zmiany wraz z datą. Wszystko ładnie działa, tylko musi to być bardziej - że tak powiem - idiotoodporne :) ...i z tym mam problem, tzn.: 1. Jak już komentarz automatycznie...
Dla przykładu No właśnie dla przykładu, to przydałby się przykładowy plik. Dodano po 4 Nie pisz na PW proszę, skoro plik dotyczy tematu.
Dzień dobry, Mam problem którego nie umiem rozwiązać, kod nie działa przy zabezpieczonym arkuszu... próbowałam zdejmować i zakładać ochronę ale bez fajerwerek. Jestem początkująca. lista wielokrotnego wyboru, po naciśnięciu edytuj można edytować zawartość jeśli np wybierzemy cos niepotrzebnie albo...
Do wiadomości: Usunięcie wierszy nie powoduje usunięcia obiektów (Shapes), które lubią układać się "na kupkę". Widoczny jest tylko ten na wierzchu a pod spodem bywają setki. Wykorzystaj kolumnę do wstawiania "ptaszków" Np prze dwuklik. Umieść w kodzie arkusza (dla kolumny D Target.Column=4) [syntax=vb]Private...
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 11 Or Target.Column = 15 Then For Each c In Intersect(Target, Columns(Target.Column)) If LCase(Cells(c.Row, Target.Column).Value) <> "withdrawn" Then If c.Interior.ColorIndex = 44 Then Range(Cells(c.Row,...
W kod arkusza wklej[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 And Target.Column = 5 And Target.Value <> "" Then wrs = Columns(5).Find(what:=Target.Value, lookat:=xlWhole).Row Target.Offset(0, 1) = IIf(Target.Row = wrs, "", Cells(wrs, 6)) End...
Chamski (podwójne NOT) kod, ale działa. - najpierw wybierasz sobie "co chcesz wstawić" z komórek D1..D6 - potem wybierasz sobie "gdzie to wstawiasz" - komórki A1..A6 O pierwszej nad ranem trudno o lepszy kod :) Myślę, że koncepcję moją już znasz, przerobisz sobie "na swoją modłę" - jak będziesz...
ad 1. Można wykorzystać następujący kod dla zdarzenia Worksheet_Change arkusza: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 12 And (Cells(Target.Row, Target.Column).Offset(, -1).Value + Cells(Target.Row, Target.Column).Offset(, -2).Value = 0) Then Target.Value...
Witam, Proszę Was o pomoc. Mam makro, które w przypadku modyfikacji komórki w kolumnie 3, 4 lub 5 wstawia datę modyfikacji oraz nazwę użytkownika w odpowiedniej komórce w kolumnie A i B. Problem w tym, że wystarczy dwukrotnie kliknąć w danej komórce w kolumnie 3, 4 lub 5, aby pojawiała się już data...
Jeśli zmiany będą dokonywane "ręcznie", to można spróbować w ten sposób: (kod do modułu arkusza "źródłowego") [syntax=vbscript]Option Explicit Dim wartosc Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub wartosc...
No właśnie doczytałem, że o arkusz, w którym się wprowadza dane też ma być sprawdzenie. [syntax=vbnet]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then For x = 1 To Sheets.Count If ActiveSheet.Index = x Then If Application.CountIf(Sheets(x).Range("B2:...
Teoretycznie - "tak", ale praktycznie to nie wiem czy byłbyś zadowolony, wiązałoby się to bowiem z zakładaniem ochrony na cały arkusz, przy wskazywaniu jednocześnie, które komórki mają być zablokowane, a które nie. Trudno dociec co tam jeszcze masz w arkuszu, co powiino być chronione/blokowane, a co...
Niestety, ja jedyne co Ci mogę podrzucić to makro odpalane z przycisku albo uruchamiane "zieloną strzałką": Public Sub KopiujMnie() Range("C3").Select Selection.Copy Range("E5").Select ActiveSheet.Paste Application.CutCopyMode =...
troszkę to skomplikowałeś zatrudniony przez a i b to są rożne nazwy firm, jak teraz podmieniam pod a tą swoją nazwę to lipa:/ bo nie działa zaznaczanie:/. [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$H$3" Then Sheets("Szablon").Range("B10") = Target.Value ElseIf...
Trzeba dopisać do kodu jedną linijkę i zakończenie instrukcji warunkowej (bo już nie zmieści się w 1 linijce): [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub If Target = 2 Or Target = 3 Then ...
Jeżeli w komórce ma się "pojawić" napis "Nie dotyczy" a w innym przypadku masz wprowadzać datę to tak jak sam napisałeś w pierwszym poście: tylko proste makro to załatwi. Niestety funkcja jeżeli w tym przypadku to za mało. Kłopot polega że nie masz pojęcia o makrach (jak sam mówisz), a makro trzeba...
Na wstępie: Mam błąd na linijce "lCnt = Mid(sTemp, i, Len(sTemp))" - "type mismatch" Możliwe przyczyny to: a) brak deklaracji zmiennej " i ", typu np.: " Dim i% " b) wartość w danej komórce ma "skomplikowaną" strukturę, typu np. " AU01_CDF125 " - po znalezieniu pierwszego znaku, który może być...
Jeśli chodzi o ukrytą informację, że ma to być makro, to tak. Formuły to tu nie widzę ... :( ... Racibórz-Miedonia .. przybyło ... ubyło ... różnica wyskoczyła w Wiśle ... A jak wygląda układ danych w arkuszu, bo poprzednio pisałeś o "kolumnie obok", a teraz o "wierszu poniżej" ? W każdym bądź razie...
Ja to zrozumiałem trochę inaczej, ale rzeczywiście opis nie należy do klarownych. Makro zdarzeniowe reaguje na zmiany w komórkach B5:B7 wprowadzone ręcznie, nie makrem. Tekst makra jest w module arkusza. Zakres trzeba dopasować. Jeśli w B8 wpiszę "14", to w C8 ma być formuła "=400+B8" chyba jednak...
Dzień dobry, Proszę o pomoc. Robię plik z grafikami na cały rok. Arkusz jest chroniony hasłem, użytkownicy mają dostęp na zaznaczanie odblokowanych i zablokowanych komórek oraz na formatowanie komórek. Połowa komórek jest z nich zablokowana a połowa nie. Potrzebuję dodać przycisk, który po naciśnięciu...
Dzięki za wędkę ale przydałby się jeszcze robak :) Powalczę w wolnej chwili z kodem. Dodano po 3 No dobra znalazłem i robaka Działa tylko dla kolumny A zgodnie z moimi założeniami Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "" And ActiveCell.Column...
Można jeszcze tak. (dla pojedynczych danych) [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub If Target.Count > 1 Then Target = "": Exit Sub If Application.CountIf(Columns(1), Target) > 1 Then Target = "" End Sub[/syntax]
[syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Then Application.Cursor = xlWait x = Target.Row a = Cells(x, "A") & "-" & Cells(x, "C") & "-" & Cells(x, "F") & "-" & Cells(x, "I") & "-" & Cells(x, "J") Set w...
Kopiowany wiersz nie będzie pasował w nagłówki. Musiałoby być (w kodzie arkusza "101-183") coś takiego Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2:P50")... Is Nothing And LCase(Target.Value) = "x" Then ...
Kliknij prawym klawiszem myszki na zakładce arkusza, wybierz Wyświetl kod i w Edytorze VBA wklej Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 3 Then Target.Offset(0, 1) = Application.UserName End If End Sub Co robi to makro? Po każdej zmianie jaka następuje...
Jeżeli koniecznie chcesz klikać to Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Then Target = Format(Now, "yyyy-mm-dd") If Target.Column = 2 Then Target = Format(Now, "hh:mm:ss") ...
Wklej w kod arkusza [syntax=vb]Dim tmp Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Target.Offset(0, -1).Value = tmp End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) tmp = Target.Value End Sub[/syntax]
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...
Witam. Od dawna korzystam z szychtownicy która bardzo ułatwia mi pracę. Jednak postanowiłem trochę ją przerobić i bardziej udoskonalić. Dlatego bardzo prosiłbym o pomoc bo nie ze wszystkim mogę sobie poradzić. Dołączony plik zawiera pięć różnych szychtownic (do tej pory wszystkie pięć było w jednym arkuszu)...
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) =...
Wklej w kod arkusza :[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "C47" Then If LCase(Target.Text) = "przelew" Then 'Przelew, PRZELEW, przelew Rows("48:49").EntireRow.Hidden = False Else Rows("48:49").EntireRow.Hidden = True End If ElseIf...
Witam przede wszystkim musimy z wszystkich komórek do wyłączenia ochrony i włączyć ochronę arkusza Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Then Exit Sub If Target Like "ok" Then Me.Unprotect Range(Cells(Target.Row, 1), Cells(Target.Row,...
Stworzyłem 3 arkusze, w każdym z nich mam listę rozwijana i aby działała "synchronizacja" pomiedzy tymi 3 listami wystarczy kod: [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Or Intersect(Target, Range("A1")) Is Nothing Then Exit Sub Application.EnableEvents...
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("V15:V16")) Is Nothing Then If Target.Address = "$V$16" Then r = 1 Target.Offset(-10 - r, 3).Resize(2, 2).Copy Target.Offset(r * 2, 2) End If End Sub [/syntax]
Mam nadzieję, że to już koniec wątku.;) [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next w = Target.Row If Target.Column = 7 Then If Target.Value > 1 Then a = w + 1 b = a + Target.Value - 2 Rows(a & ":" & b).Select ...
Ewentualnie można zastosować makro zdarzeniowe, np. takie: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) Dim cel As Range If Intersect(Target, Range("C3:C15")) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub Set cel = Target.Offset(, 1) Select Case Target.Value ...
Gdyby dane skopiowane do arkusza "kop" po zapisie zostawały na stałe Jeśli interesuje Cię sporządzanie tylko ukrytej kopii :D wszystkich edycji w arkuszu Rob - to usuń formatowanie warunkowe, usuń kod Workbook_BeforeClose i wymień kod w arkuszu Rob :spoko: na: [syntax=vbscript]Private Sub Worksheet_Change(ByVal...
To się baw. Sprawdzanie PESELa znajdziesz w sieci. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$12" Then If Target = "Tak" Then Range(Rows(13), Rows(14)).Hidden = True Else Range(Rows(13), Rows(14)).Hidden = False End...
Do wywołania reakcji na wprowadzane do arkusza dane (odpowiedzi na pytania) wykorzystaj procedurę zdarzeniową arkusza: Target - Komórka podlegająca zmianie. W konstrukcji z ".Cells(1,1)" odnosi się do komórek scalonych Intersect - Sprawdza czy "Target" i komórka mająca wywoływać określoną reakcję,...
Nie przesadzajmy, wszystko da się powoli zrobić. Zacznijmy od tego przenoszenia z komórki do komórki. Najłatwiej będzie to zrobić jeżeli masz gdzieś stan ogółem, czyli sumę obu komórek. Wygląda to jakoś tak: 10 10 0 20 15 5 17 10 7 Wtedy na poziomie tego arkusza (ważne!) wklej makro: [syntax=vbscript] Private...
nie mogę wpisać więcej niż jednego znaku z tych moich 4 Trochę dziwne :D Po małej modyfikacji kodu dt1 1044071 Inna sprawa, że po Twoim "drukowaniu" i przestawieniu zdarzeń na True, czyszczenie formularza wywołuje nowe zdarzenie zmiany wartości w obserwowanym zakresie. :cry:
Witam Wszystkich, Zwracam sie z prośbą o pomoc w rozwązaniu małego problemu związanego z wprowadzaniem danych przez operatora na linii produkcyjnej. Operator zobowiązany jest do wprowadzenia czasu rozpoczęcia (B2) oraz czasu zakończenia (C2) na swoim stanowisku pracy. (+ dodatkowo ilości ktore wyprodukował,...
Słuszna uwaga :-) Już się poprawiam i załączam makro: Private Sub Worksheet_Change(ByVal Target As Range) Dim ZakresHist As Range, Wiersz As Long, Kolumna As Long, KomPusta As Range Dim ArkHist As Worksheet On Error GoTo Koniec Application.ScreenUpdating = False ...
To jest tylko około 2 000 rekordów. Ma kopiować dane ze wszystkich komórek z wiersza powyżej. Wstawianie nowego wiersza ma być tylko , jeżeli w kolumnie G w komórce jest liczba >1. Np. jezeli jest liczba 5, to ma dodać 4 wiersze, a w wierszu gdzie jest 5, to ma zamienić liczbę na cyfrę 1. Chcę aby...
Popieram to co pisze kolega paweliw. Nie wyważa się otwartych drzwi. Jednak uważam że my jako "fani" użytkownicy EXCEL-a jesteśmy tu po to aby iść do przodu i takie makro powinno być pestką! :) dla kogo pestką dla tego pestką No ale jak już sie uparłeś ... Rozwiązań z makrem może być...
Tu zaczynają się cuda. To może podrzucę kanister z wodą? :) Poważnie: Umieść oba makra w module i precyzyjnie "wskaż" Excelowi, którego arkusza dotyczy kod. Przykład z kopiowaniem[syntax=vb]With Sheets("Arkusz3") .Activate .Range("F8:M8").Copy .Range("F86").PasteSpecial Paste:=xlPasteValues...
[syntax=vb]Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 then Cells(Target.Row, 4). Select If Target.Column = 4 Then Cells(Target.Row + 1, 1).Select End Sub[/syntax]
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 8 Then h = Split("WIN;BOK;CC;OP", ";") hv = Target.Value For x = 0 To UBound(h) If hv = h(x) Then fl = True Next If Not fl Then MsgBox "Błąd" End If End Sub [/syntax]
Napisałem Ci to trochę rozwlekle, ale przejrzyście. Wklej do VBAProjekt/Microsoft Excel Objects/Arkusz1(DYSPOZYCJE) [syntax=vbn... Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim r&, c%, tD As Date r = Target.Row c = Target.Column tD = DateValue(Now) If Cells(r,...
Cześć, w Excelu mam dwie listy, przykładowo: 1: nazwa artykułu w języku polskim 2: nazwa artykułu w języku angielskim Chciałbym utworzyć makro "Worksheet_Change" aby działało w taki sposób: podczas zmiany w liście z językiem polskim zmienia mi się lista z językiem angielskim i na odwrót. Problem...
Witam, - w czasie epidemii koronawirusa, w czasie robienia zapasów artykułów spożywczych, pomyślałem, że dla zinwentaryzowania tego co w lodówce, na regale w spiżarni i wszystkiego co może się zmarnować - bo mija data przydatności do spożycia, napiszę żonie makro. Myślę, że może się przydać, tym bardziej,...
Wklej w kod arkusza Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "A1" Then ostW = WorksheetFunction.CountA(Range(&... + 1 Cells(ostW, 2) = Target.Value End If End Sub Jeśli dopuszczasz puste...
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 ...
Nie wiem co miałeś na myśli Po następnym wpisaniu daty w I4 powinno kopiować zakres dat z I4 do R4 itd. Ale pozostałe funkcje działają. [syntax=vb] Public Blokada As Boolean Sub Przesun(Wiersz As Integer) Dim a As Integer For a = 7 To 0 Step -1 ActiveSheet.Cells(Wiersz, a + 9...
Proszę[syntax=vb]Dim komTmp As String Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1:B4")) Is Nothing Then Application.EnableEvents = False If komTmp = "" Then komTmp = Target.Address If Range(komTmp) = Empty Then Range(komTmp).Select ...
Witam, Wartości w komórkach A1 i B1 się zmieniają - wpisujemy np. w komórkę B1 dowolną wartość i ENTER i wtedy skrypt działa. Ale w przypadku pobierania danych z Internetu (dane zewnętrzne) skrypt nie działa mimo, że w komórce np. B1 pojawiają się wartości większe niż 18 (wartość progowa)....
Można bez makra, Np wpisz w B2 i skopiuj/przeciągnij w dół =WYSZUKAJ.PIONOWO(A2;Arkusz2!A:B... Jeśli koniecznie VBA, to w kod arkusza wklej [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns(1)) Is Nothing Then On Error Resume Next ...
Dzięki wielkie. O coś takiego właśnie mi chodziło. Ale mam dwa pytania. Teraz kod wygląda jak poniżej, ten kod śledzi zmiany wprowadzane przez pracownika dla 31 arkuszy, czy można go zminimalizować czy ma zostać tak jak jest? ...no i przy otwieraniu pliku też wyskakuje błąd:
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 3 And (Target.Column = 5 Or Target.Column = 6) Then ow = Cells(Rows.Count, "A").End(xlUp).Row Cells(ow, 1) = Cells(3, 5) Cells(ow, 2) = Cells(3, 6) End If End Sub [/syntax]
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next r = Date - Target.Cells If Target.Column = 2 And r > 30 Then w = Target.Row Cells(w - 1, 5) = "" Cells(w, 5) = "" End If End Sub [/syntax]
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = na przykład 15 Then 'kolumna O Range(Cells(Target.Row, 3), Cells(Target.Row, 15)).Select Selection.Copy Cells(42, 3).Select ActiveSheet.Paste End If End Sub [/syntax] Dla...
wklej to w arkusz [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Row > 0 Then For Each c In Target If c.Value = "" Then Cells(c.Row, "B").Value = "" Else Cells(c.Row, "B").Value = 1 End If ...
te godziny i nadgodin numery mogą być dwie cyfry (np. 12) lub jest zawsze jedna cyfra? Dodano po 3 Można użyć zdarzenia Private Sub A1(A31...B31)_Change, ale jeśli dwa numery, a następnie dwa wydarzenia i będzie zrekompensowane 2 pozycje Dodano po 29 Sprobuj [syntax=vb] Private Sub Workbook_SheetChange(ByVal...
Skoro Kolega chce VBA, to proszę. Kod dla modułu 'Arkusz3': [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 2 And Target.Column = 2 Then If Target.Cells = "XYZ" Then Call Kopiuj End If End Sub[/syntax] Kod modułu skoroszytu: [syntax=vb]Sub Kopiuj() s...
Mała poprawka: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 11 Then Dim ar() As String q = 0 a = Split(Target, " ") For aa = 0 To UBound(a) For x = 5 To 13 If Cells(x, 4) = a(aa)...
[syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 8 Then r = Target.Row If Target = "TAK" Then ActiveSheet.Unprotect ("haslo") Cells.Select Selection.Locked = False Cells(r, 10).Locked = True ActiveSheet.Protect...
1. Początkowo w formatowani komórek odblokować zakres B:I 2. Włączyć ochronę arkusza. (np. z hasłem 111 ) 3. Umieścić w kod Arkusz1 ten kod: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B:I")) Is Nothing Or Cells(Target.Row,...
If Target.Column > 2 Then Exit Sub If Target <> 0 Then Target.Offset(, 1 + Target.Column ) = Target.Offset(, 1 + Target.Column ) + Target
W kodzie arkuszu "konto"[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("L4:M2003")) Is Nothing Then Exit Sub If Target.Text = "0" Then Target = "NIE DOTYCZY" End Sub [/syntax]
Zdarzenie 'change' jest przed samym edytowaniem Mozna tak:[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) f Target.Column = (5) Then Target.Offset(0, 1) = Now Target.Offset(0, 2) = Application.UserName End If ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End...
Formula jest pod targetem. EDIT Jezeli wpisuje liczbe osob, pokazuje mi target I sprawy zrobione ktore w zaleznosci od ilosci podswiela sie na zielono lub czerwono. Jezeli dodam rejections, to target powinien sie zmniejszyc I automatycznie powinna nastapic zmiana koloru w sprawach zrobionych. Niestety...
Witam W skoroszycie BANK1, mam 4 arkusze w których gromadzę bieżące dane w wierszach/rekordach ( arkusze nazywają się KW, KP, BW, BP ) są to skróty od kasa wydała lub przyjęła , oraz bank wydał lub przyjął. oraz jeden arkusz wynikowy w których chcę różne rekordy zestawić do analizy wg dat i podliczyć...
jednak chyba będę musiał zostać przy dwóch kryteriach filtrowania Nie ... dlaczego (?) ... za szybko się poddajesz ... :) ... Sprawdź jak będzie działać, to co poniżej ... jak nie będzie, to będzie się główkować "dalij": [syntax=vba] Option Explicit Option Base 1 Private Sub Worksheet_Change(ByVal...
Co w przypadku jesli klikasz na B6, lub F4 itp.? Dodano po 3 w kodzie arkusza[syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count = 1 And Target.Column = 1 Then Cells(1, 1) = Cells(Target.Row, 1) End Sub [/syntax]
Niestety jestem zmuszony powrócić do tego tematu. Podczas pracy na stworzonym arkuszu, i w trakcie dodawania klientów, po tym jak zostało dodanych około 300 klientów i powstało około 300 zakładek, po pierwsze działanie programu i makr zwolniło po drugie plik waży ponad 5mb i nie jest możliwa praca...
Mam problem z przerobieniem makra, na takie które automatycznie wstawi w kolumnie Data Private Sub Worksheet_Change(ByVal Target As Range) Dim xCellColumn As Integer Dim xTimeColumn As Integer Dim xRow, xCol As Integer Dim xDPRg, xRg As Range xCellColumn = 4 xTimeColumn...
Należy oprogramować zdarzenie SheetChange skoroszytu. Wykrywa ono równocześnie, w którym arkuszu i w której komórce nastąpiła zmiana. Kod: [syntax=text]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Address <> "$F$6" Then Exit Sub If IsNumeric(Target)...
Przeglądałem. Na jeden wątek znalazłem już rozwiązanie co do pkt. z odświeżaniem. Po prostu dołączyłem do kodu uruchamiającego formularz w arkuszu 1 wiersz: "Call UserForm2.UserForm_Initialize" Cały kod uruchamiający: [syntax=vbscript]Private Sub Worksheet_SelectionChange(ByVal Target As Range) If...
Teraz wszystko jasne. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Application.ScreenUpdating = False Plik = "C:\PlikiSpraw\" & Range("A" & Target.Row) & ".xlsx" If Dir(Plik) <> "" Then Rows(Target.Row).Copy ...
[syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$10" Then Application.EnableEvents = False Range("A11:A" & Cells(Rows.Count, "A").End(xlUp).Row).ClearContents ow = 5 ok = Cells(1, Columns.Count).End(xlToLeft).Column x = Target.Row...
W kodzie arkusza [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Then Target.Resize(, 2).Interior.Color = vbRed Sheets("Arkusz2").Cells(Rows.Coun... 1).End(xlUp).Resize(, 2).Offset(1) = Target.Resize(, 2).Value Cancel = True End...
Ad1. W module standardowym wklej kod. [syntax=vb]Sub Logoeps() ' Logoeps Makro ' Option Explicit Dim x As Double Dim y As Double Dim obraz As String Dim kom As Range If Not ActiveSheet.Pictures Is Nothing Then ActiveSheet.Pictures.Delete End If obraz = ActiveWorkbook.Path & "\"...
Przetestuj poniższy kod (zdarzenie dla arkusza w którym wypełniamy komórkę A1): [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing And IsNumeric(Range("A1").Value) = True And Range("A1").Value >= 0 And Range("A1").Value < Sheets.Count...
Witam, mam podobne pytanie jak w temacie, mianowicie: 1. w określonym zakresie (kolumna) mam zdefiniowaną listę wariantów do wyboru (np. A, B, C, D) 2. chciałbym, aby wybór wariantu B skutkował pojawieniem się komunikatu z dwoma opcjami wyboru: a. TAK - wybór tej opcji otworzy inny plik xls ...
Po problemie poradziłem sobie poniżej kod VBA [syntax=vb]Private Const SheetTargetIndex = 1 ' index of target sheet (1..N) Private Const SourceRow = 13 ' row number where source content start Private Const SourceCol = 2 ' column number where source content start Private Const TargetCol = 20 ' column...
Nie mam zabardzo czasu na siedzenie nad tym problemem, ale w zamian podaję parę różnych przydatnych rozwiązań do tego programu. Myślę że sobie poradzisz, analizując pewne chwyty w VBA. Uwaga! podane przykłady nie są rozwiązaniem problemu, są tylko fragmentami mozliwymi w większej lub mniejszej części...
Wykorzystaj zdarzenie arkusza "przy zmianie" (Worksheet_Change) gdzie zakresy (Target) możesz określać warunkowo. Np If Target.Address(0, 0) = "A1" Then 'tu sie dzieje jesli zmiana w A1 ElseIf Target.Address(0, 0) = "C8" Then 'tu sie dzieje jesli zmiana w...
Jestem za pomysłem kolegi iksigrek, jednak bym to ograniczył do zmiany w danej komórce, wierszu lub kolumnie w danym arkuszu. Np. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 4 And Target.Column = 12 Then Application.ScreenUpdating = True End Sub Mniej obciąża...
Jeśli jest to lista przez poprawność danych to najlepiej wykorzystać zdarzenie arkusza. Np (w kodzie arkusza) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "E1" Then Columns(1).Find(what:=Ta... Lookat:=xlWhole).Select End...
I nie zadziała. Zabrakło drobnego szczegółu. Sub procedurka(Target) ... ... ca... procedurka(Target) ... Po zmianach powinno hulać. W pierwszym wierszu możesz jeszcze zadeklarować czym ów Target ma być. Popatrz na wzór deklaracji: Private Sub Worksheet_Change(ByVal Target...
Może wystarczy wstawianie skrótem Ctrl+: (dwukropek). Jeśli data automatycznie wpisywana ma być w kol. B jednocześnie z pojawieniem się danych w kol. A, to wykorzystaj zdarzenie arkusza "przy zmianie". Np (wklej w kod arkusza)[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column...
sprawdziłem i działa! Dziękuje Mam już chyba ostatnie pytanie... najprościej ujmując po wykonaniu wyszukiwania zgodnie z ID dane przerzuca mi do arkusza wyszukiwanie... chciałbym następnie dane z tego arkusza skopiować do dwóch innych np do "arkusz1" oraz "arkusz2" zgodnie z kryterium: jeżeli w komórce...
Najlepiej wykorzystać zmianę w kalendarzu. Wklej w kod arkusza "Kalendarz" [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$H$18" Or Target.Address = "$I$18" Then With Sheets("Szychtownica") For i = 34 To 32 Step -1 If .Cells(2, i).Value = "" Then ...
Możesz też użyć takiego zapisu, chyba częściej spotykany, tylko należy pomiętać o dolarach w adresie komórki: Overflow . Możesz użyć typu Long, co znacznie rozszerzy ten zakres, lub nie deklarować ich w ogóle / zadeklarować je jak Variant, pozwalając kompilatorowi (?) samemu dobrać odpowiedni typ....
Witam. Bardzo proszę o pomoc w przerobieniu kodu. Poniższy kod działa bardzo dobrze jednak chcę do niego jeszcze coś dodać. Mianowicie kod działa tylko na jednym arkuszu "Arkusz1" i dodatkowo na arkuszu "Podsumowanie". Jak przerobić kod żeby działał dodatkowo na innych arkuszach które bym chciał wyszczególnić? Na...
Podaj maila, coś nie mogę załączyć pliku tutaj... chyba że wystarczy ci taki snippet (dla tabeli z 4 kolumnami A:D): [syntax=actionscript] Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 4 And Target.Row = Application.CountA(Range("D:D")) Then ActiveSheet.ListObjects("Tabela1").ListR...
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...
Przedstawię podobne rozwiązanie tylko z paroma "zabezpieczeniami" poza tym w twoim kodzie "cells.locked = false" spowoduje to, że właściwie to zabezpieczenie nie będzie miało sensu bo i tak odblokuje komórkę do zmiany. Mój kod zakłada że na wstępie komórki do zmiany są odblokowane i kod dopiero je...
Zarejestrować się nie da ale da się napisać. If Not Intersect(Target, Range("B2")) Is Nothing Then Worksheets("Arkusz2").... I umieszczasz to w kodzie danego arkusza (nie w module -w VBA dwuklik na arkusz1) w "sekcji" SelectionChange Czyli to...
Poczytaj trochę o procedurach zdarzeniowych, a "załapiesz" w 10 minut: [url=]Link1 [url=]Link2 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) = "A1" Then ostW...
A może coś jeszcze prostszego. Autor nie wspomniał jak będzie wprowadzał dane. Jeżeli to będzie robił "z ręki" i pojedynczo to może w "sekcji" Change każdego arkusza uruchamiać makro z odwołaniem do procedury w module która pobierze nazwisko z aktywnego arkusza (przed chwilą wprowadzone) i poprzez...
Wstaw w kod arkusza "Wydatki" i kliknij w "Zapisz" [syntax=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim ostWrs As Long 'warunkiem działania makra jest adres scalonej komórki (tej z tekstem "Zapisz") 'zwrócony przez zmienną Target If Target.Address(0, 0) = "E18:E19" Then ...
Testuj kolumnę, przypisuj na offsetach. Np[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then If Target.Value = "x" Then 'Range("C1") = Range("B1") Target.Offset(0, 2) = Target.Offset(0, 1) Else 'Range("C1") = "" Target.Offset(0, 2) = "" ...
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then r = Target.Row If r = 1 Then Cells(r, 1) = 1 Else Cells(r, 1) = Cells(r - 1, 1) + 1 End If End If End Sub [/syntax] Umieść ten kod w module arkusza. Założenie jest takie,...
W najprostszym przypadku można zastosować przetwarzania zdarzeńia Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column > 2 Then Exit Sub rw = Target.Row Cells(rw, 3) = Cells(rw, 1) + Cells(rw, 2) End Sub
Przy podwójnym kliknięciu to będzie coś takiego: [syntax=vb]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column > 2 And Target.Column < 6 Then UserForm1.Show End If End Sub [/syntax]
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 5 Then nw = Sheets("Logistyka").Cells(Rows.Count, "A").End(xlUp).Row + 1 If nw = 2 Then nw = 1 w = Target.Row Range(Cells(w, 1), Cells(w, 5)).Copy Sheets("Logistyka").Cells(nw,...
[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next k = Target.Column If k = 4 Then Ew = Cells(Rows.Count, "E").End(xlUp).Row + 1 ow = Cells(Rows.Count, "C").End(xlUp).Row For x = 1 To ow If InStr(1, Cells(x, 3), Target) > 0 Then ...
Podoba mi się! Na podstawie Twoich linijek i Helpa dodałem w tym samym Sub po End If jeszcze coś, co wcześniej musiałem wpisywać z ręki lub za pomocą skrótów Ctrl+; i Shift+Ctrl+; , a teraz klikam dwa razy i jest data oraz godzina. [syntax=vb] If Target.Column = 8 Then d = Target.Row Cells(d,...
Mam nadzieję, że nie zamęczam. Musiałem niestety odrobinę przemodelować tę tabelę stąd też pytanie - Co w poniższym kodzie, trzeba zmienić żeby zamiast kol. B,C,H przerzucał kol. B,C,V z arkusza "kontrole" (kolumny od R stanowią tablice pomocnicze - w zał. plik)? [syntax=vbscript] Private Sub Worksheet_Change(ByVal...
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 3 Then Target.Offset(0, -2) = Date Target.Offset(0, -1) = Year(Date) & "/" & Target.Row - 1 End If End Sub
Korzystając z ciekawostki kolegi PRL chciałbym przestawić rozwiązanie mojego problemu z kilku postów wyżej. Chodzi o to, że po usunięciu pozycji dwuklikiem móc cofnąć operację usunięcia wiersza. Makro poniżej sprawia, że po podwójnym kliknięciu w arkuszu "szablon" w pierwszej kolumnie w danym wierszu...
W kodzie arkuszu wpisz[syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) Dim r& If Target <> Range("C3") Then Exit Sub If Target.Text = "0" Then Exit Sub r = Range("C" & Rows.Count).End(xlUp).Row + 1 If r < 7 Then r = 7 Range("C" & r) = Range("C2").Value End Sub [/syntax]
jakby wyglądał kod ten co wyżej bez powiadamiania o błędzie (to niestety przeszkadza) z czyszczeniem pola tekstowego (po wstawieniu przeze mnie czyszczenia niestety całość się zapętla i wychodzi zupełnie coś innego niż powinno) Nie do końca wiem o jaki komunikat ci chodzi. Czy o ten: "Brak danej...
Private Sub Worksheet_SelectionChange(... - jest reakcję na zmianę położenia kursora w arkuszu. (zdarzenie arkusz_ZmianaZaznaczenia) If Target.Column <> 12 Then Exit Sub- tylko dla kolumny L, w przeciwnym razie przerwać pracę. W Twojim przypadku[syntax=vb]Private Sub Worksheet_SelectionChange(ByVal...
Dzień dobry, mam podobny problem. Chciałabym, aby po wyborze Imienia z listy rozwijanej pojawiło się okienko do wpisania nazwy i hasła lub tylko hasła dla danego użytkownika. Jeśli użytkownik wpisze poprawna nazwę i hasło to pojawi się nowy wiersz nad wpisem (to już mam), ale jeśli nie wpisze poprawnie...
Jednak uwielbiam proste rozwiązania :) Wklej w kod arkusza wynikowego takie makro [syntax=vbscript]Option Explicit Option Compare Text Private Sub Worksheet_Change(ByVal Target As Range) Dim myPath As String, myFile As String Dim ark As String, rn As String, arg As String If Target.Address(0,...
Wygodniej tak: [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 1 Then Rows(Target.Row).Delete Cancel = True End If End Sub [/syntax]
Wypróbuj: [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim kol As Long If Not Intersect(Target, Range("A1:E25")) Is Nothing Then kol = Cells(27, Columns.Count).End(xlToLeft).Column + 1 Target.Copy Cells(27, kol) ...
Witam próbuję napisać kod do kilku list rozwijalnych na umieszczonych w jednym arkuszu . Wrzuciłem również w tym arkuszu w kilu kolumnach nazwy skoroszytów z podłączonymi do nich linkami. Potrzebuję taki kod w którym odpowiedna kolumna np. A (x wierszy) będzie zawarta w liście rozwijalnej plus uruchamiane...
Spradzaj w petli If not isdate(komorka). [syntax=vbnet]Private Sub Worksheet_Change(ByVal Target As Range) If Not IsDate(Range("J3:j280")) Then Application.EnableEvents = False Application.Undo Application.EnableEvents = True MsgBox "Pole musi być datą" End...
Może takie makro zdarzeniowe w module skoroszytu (jeśli ma działać we wszystkich arkuszach) lub w module arkusza (jeśli tylko w jednym arkuszu): [syntax=vbscript]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim tval Application.EnableEvents = False If Application.CutCopyMode...
W kod arkusza wklej takie coś: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "K5" Then If Target.Value = 1 Then Range("N5").Copy Else Range("N6").Copy End If Range("K6").Select ActiveSheet.Paste Application.CutCopyMode = False End...
Zdradzisz dlaczego wybrałeś taką metodę programowania? Powiem tak, czy wybrałem takie programowanie? Raczej od początku tego sposobu się nauczyłem, ale nie nauczyłem się programować tylko nauczyłem się dostosowywać kody tak żeby działały i robiły to co chcę żeby zrobiły. Tak naprawdę ja nie potrafię...
[syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then ow = Cells(Rows.Count, "C").End(xlUp).Row w = Application.Match(Target, Range("C1:C" & ow), 0) If Not IsError(w) Then For x = 5 To 9 If Cells(w, x) = "" Then ...
A czy nie prościej zamiast skrótu klawiaturowego używać do tego myszki? Dwuklik albo prawoklik na komórce załatwia sprawę jedną czynnością zamiast dwóch. Kod do dwukliku (w module arkusza): [syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Target.Value...
Może najpierw funkcja, która zaznaczy komórki żółte, a potem je zabezpieczy przed zmianą. Plik z możliwością działania makr (xlsm, xls) :idea: w arkuszu roboczym wprowadź taki kod makra :spoko: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) Unprotect "a" Target.Interior.ColorIndex...
[syntax=vbscript]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Row = 1 Then k = Target.Column ow = Cells(Rows.Count, k).End(xlUp).Row Range(Cells(2, k), Cells(ow, k)).Copy Set w = Workbooks.Open(ThisWorkbook.Path & "\B.xlsx") ActiveSheet.Range("A1").PasteSpecial...
witam. Mam problem z połączeniem poleceń rejestrowania danych z kilku komórek w jedna komendę. Chodzi o to, ze mam napisane makro dla rejestrowania danych z jednej komórki i umieszczania historii tych zmian w innej Kolumnie. Np. Wszystkie zmiany które zaszły w komórce A1 zapisuj w kolumnie D w innym...
Coś ala w kodzie arkusza [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Not IsNumeric(Target) Then Target = "" MsgBox "w oknie nie jest wpisana liczba, sprawdź swoje dane" End If End Sub[/syntax]
Rewelacja Bardzo dziękuje, ale jest problem. Bardzo zależy mi aby wartości z tabeli były pobierane przez zapytanie z power query. Więc dodałem w kodzie wiersz odświerzania zapytania. Teraz po zmianie wyboru z listy rozwijanej wartości się "podbierają" ale nagłówek już nie. Czy mozna z tym coś zrobić...
Ja to zrozumiałem, że o takie coś chodzi. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 3 Then Target.Offset(1, -2).Select Else Target.Offset(, 1).Select End If End Sub[/syntax]
Niestety, arkusz Excela standardowo posiada tylko jedno zdarzenie powiązane z myszką i to tylko jej prawym klawiszem. Mały przykład Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("a1:a10")... Is Nothing...
Witam, mam problem. Na jednej ze stron znalazłem makro które działa w jednym arkuszu. Chciałbym je zastosować do kilku jednakowych arkuszy, nie mam doświadczenia z makrami i dlatego proszę o poradę jak to zrobić. Z góry dziękuje. Option Explicit Dim Zakres As Range Private Sub Workbook_Open() ...
Witam, mam następujący problem. Z VBA jestem że tak powiem początkującym. Mam w arkuszu w którym zależałoby mi żeby zrobić formatowanie warunkowe. Jak już wiadomo excel 2003 ogranicza to do 3 warunków. A potrzeba ich zrobić dużo więcej. Mianowicie chciałbym żeby po sprawdzeniu komórki i sprawdzeniu...