Co do przycisku wywołujacego makro. Jeżeli masz więcej arkuszy i będzie to w nich wykorzystywane to kod umieść w module. Menu - Widok - paski narzędzi - Visual Basic. Na tym pasku wciśnij Edytor Visual Basic. Otworzy ci się edytor makr. Po lewej stronie będzie okienko "project -VBA project" . Znajdź pogrubioną nazwę twojego skoroszytu i prawokliknij...
Dzień dobry jeszcze raz, Chwilę to trwało, bo jak zacząłem dodawać swoje funkcje "słownie" stwierdziłem, że procedura Staz nie jest doskonała i uznałem, że warto ją podmienić na coś innego. Zapewne dałoby się ją poprawić, ale to już pozostawiam Autorowi, jeśli uzna za celowe. Niestety w VBA nie ma takiej wygodnej funkcji jak półoficjalna DATA.RÓŻNICA...
Witam! Jestem tu nowa, więc bardzo proszę o wyrozumiałość i pomoc. Mam dwa pliki (dokument A i dokument B). W dokument A mam Arkusze o nazwach od A do L- wszystkie mają identyczny układ. W dokument B jest tylko jeden arkusz w którym w kolumnie C "wymienione" są kolejno wszystkie arkusze z dokument A. Moje pytanie czy istnieje możliwość zaprogramowania...
...i teraz tak, potrzebuje obliczyc procentowe zmiany wartosci z miesiaca na miesiac. innymi slowy, chcialbym pozbyc sie wszystkich danych oprocz tych z ostatniego dnia kazdego miesiaca... Nie do końca wiem o co ci chodzi. Procentowe zmiany z miesiąca na miesiąc a procentowa zmiana ostatniego dnia miesiąca to trochę co innego ale jeżeli chcesz tylko...
Wykorzystaj Wyszukaj.pionowo() lub podaj.pozycję() w obu przypadkach z zerem jako ostatni argument. Jeżeli danego nr pesel nie będzie na drugiej/przeszukiwanej liście, funkcja zwróci błąd (#N/D). Czyli gdzie będzie błąd tego numeru pesel brakuje. Edit --------------------------- Teraz zerknąłem co zaproponował kolega Yogi - czyli to samo tylko bardziej...
Na wstępie zaznaczę że jestem na forum jeszcze chwilkę i znów może mnie nie być dłużej więc zapewne nie pomogę za dużo. Ale może inni na forum poprowadzą. Wcześniej pisałem tylko że zasada będzie podobna. W tamtym przypadku: Aktualizuj - na podstawie umów ogółem tworzy arkusze i rozdziela umowy od początku dla każdego arkusza/umowy. Wprowadź - ostatnią...
Dzień dobry, Nie można było z tym przykładem od razu? Po pierwsze - w funkcji WYSZUKAJ.PIONOWO drugim argumentem jest zakres danych. W tym zakresie danych w pierwszej kolumnie szukamy nazwy towaru, a z drugiej kolumny odczytujemy jego cenę. Zakres danych znajduje się w innym arkuszu, dlatego do jego zdefiniowania wygodnie posłużyć się nazwą, która będzie...
Załączonego pliku testowego nie udało mi się otworzyć. Ale jeśli rozumiem treść wpisu, to chodzi Ci o formułę, więc kod VBA nie powinien tu mieć nic do rzeczy. Przykładowe formuły w załączniku. Funkcją, która uwzględnia użycie filtra jest funkcja SUMY.CZĘŚCIOWE. Można jej użyć w powiązaniu z WYSZUKAJ.
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 Set s = Workbooks.Open(Plik) nw = s.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row...
Nie musi być ostatnia, ale tak było w przykładzie. Przykład powinien być adekwatny do rzeczywistych danych, a nie warto komplikować kodu "na wszelki wypadek".
Jeśli dobrze zrozumiałem chodzi o coś takiego: [syntax=vb]Sub FirstAndLast(ByVal c As Integer, ByVal cellRow As Integer, ByVal cellCol As Integer) Dim i As Integer Dim first As Integer Dim last As Integer lastindex = Cells(ActiveSheet.Rows.Count, c).End(xlUp).Row For i = 1 To lastindex If first = 0 And Cells(i, c).Value <> "" Then first = i End...
Zmienit 'For i = 0 To nrep - 1' na 'For i = 1 To nrep - 1'
Dobry wieczór, Zastosowana funkcja ILE.NIEPUSTYCH (COUNTA) pomija przy zliczaniu tylko komórki faktycznie puste, a te które zawierają formułę już nie są puste (nawet jeśli formuła zwraca pusty tekst). Inaczej zachowuje się funkcja LICZ.PUSTE (COUNTBLANK), która zlicza nie tylko komórki faktycznie puste, ale również te, które zawierają puste teksty....
Gdy w arkusz1 dopisuje dane data automatycznie zmienia się w arkusz2. Czy coś takiego jest w ogóle możliwe przy zastosowaniu formuł? Dawniej to była uniwersalna odpowiedź: "Tak to można tylko w ERZE" :D Dziś już ERY nie ma - i sam musisz sobie odpowiedzieć czy jesteś w stanie przewidzieć formułę na przyszłość - choćby jakich (nazwa) będziesz miał klientów...
Jeśli dobrze zrozumiałem Twoje potrzeby :?: To efekt taki jak na zrzucie 1011231 tzn. po wpisaniu numeru kontraktu zakupu makro automatycznie wyszukuje "wstecz" (tzn. do góry :D ) czy już wystąpił taki numer i jeśli tak - to wprowadza do kolumny D ilość pozostałą z wcześniejszej transakcji :spoko: 1011234
:) 8-) Bez przesady. 8-) to ułamek mojej wiedzy 8-) :) Nie no ... oszukuje :) Na poważnie: Miło że Ci się podoba ale kod makra nie jest zbyt ambitny. Może ktoś zrealizuje to prościej ale niestety mam kocioł w pracy i muszę się "wyłączyć". (ostatecznie pomagać wieczorami) W załączeniu poprawki. Zapomniałem wspomnieć Arkusz "Zlecenia" ma się tak nazywać...
ylo zaznaczone tylko 6 bo tyle jest par Prawdopodobnie chodzi o coś takiego: [syntax=vb]Sub FindUniq() Dim a, b As Byte Dim r As Range Dim re As Range Dim maxIndexA, maxIndexB, aa, bb, bc As Integer a = 2 'kolumna do zakolorowania b = 40 'kolumna śmieciowa Excel.ActiveSheet.Columns(a).Copy Columns(b) Excel.ActiveSheet.Columns(b).RemoveDupli... 1...
[syntax=vb] Sub DelDupl() With Sheets(1).Range("A:B") r = 2 While .Cells(r, 1) <> Empty If Application.CountIf(.Columns(1), .Cells(r, 1)) > 1 Then .Rows(r).Delete shift:=xlUp r = r - 1 End If r = r + 1 Wend End With End Sub [/syntax] jeszcze nie jest dobre?
Uparłeś się przy tej hulajnodze. Jeśli koniecznie chcesz w taki sposób, to spróbuj takiego kodu: [syntax=vbscript]Sub Podstaw_kolejne_liczby() Dim lw As Long, n As Long, a As Variant Dim rng As Range, found As Range lw = Range("A" & Rows.Count).End(xlUp).Row 'numer ostatniego wypełnionego wiersza Set rng = Range("A1:A" & lw) Set found = Range("A"...
Zmień ostatni argument funkcji MATCH. No i z tym And też coś się nie klei: 1 )
"Zwykłym" WYSZUKAJ też można.
Makro reaguje na zmianę wartości w komórce. Jeśli pierwszy wiersz jest "FPS", określa ostatnią komórkę z wartością w kolumnie. Począwszy od 2 wiersz do ostatniej wartości koloruje. Dodano po 16 Oto mały fix, gdyby w zakresie niewypełnione komórki Dodano po 11 Czy chcesz malować kolumna E, ale "FPS" w innej kolumnie(np. B)? Wtedy byłoby inne podejście...
Ja w tym kodzie błędów nie widzę - makro działa tak, jak je zapisałeś. Nie kończy się na wierszu 16, tylko ponieważ jest ono uruchamiana w zdarzeniu Change komórki, polecenie wpisujące coś do komórki: [syntax=vb]... Cells(c.Row, 12) = DateAdd("m", Cells(c.Row, 9), Cells(c.Row, 11)) ...[/syntax]powoduje ponowne wywołanie zdarzenia zmiany (co może wyglądać...
Na początku musisz ustalić długość kolumny, którą będziesz przeszukiwać tzn. ostatnią niepustą komórkę. Możliwe jest to za pomocą: Application.WorksheetFunction.CountA(... Do wyszukania wartości użyć można: Selection.Find() Cały wiersz zaznaczasz za pomocą: Rows().Select Zaznaczony wiersz kopiujesz: Selection.Copy Wklejasz: Range().Select...
Przejrzyj dobrze kod. Ostatnią funkcję masz "zaremowaną". [syntax=vb]'Call GetOnlyGoodValues(x1, x2, x3, x4, x5, x6, x7, x8, x9)[/syntax] Wewnątrz GetOnlyGoodValues wykonywane jest przeszukiwanie. Działa to dobrze bo sprawdzałem, ale generowanie czegokolwiek trwa baaaardzo długo. Zapis do komórek Excela mija się z celem o czym już pisałem. Właśnie dodałem...
(...) lko wartości liczbowe, czy również daty? Są tam wartości liczbowe. AI: Z jakiej wersji programu Excel korzystasz? Czy używasz jakichś dodatkowych narzędzi lub dodatków, które mogą wpływać na formuły? Nie używam żadnych dodatków. Jeśli jakieś byłyby potrzebne do rozwiązania zadania proszę o informacje. Bezpośrednia odpowiedź na pytanie Aby stworzyć...
Ja zastosowałbym zwykłą sumę warunków: SUMA.WARUNKÓW($F:$F;$A:$A;$H6;$B:$B;I$4) w pierwszej komórce zakresu. Suma iloczynów nadmiernie męczy komputer (w każdym razie mój :) ). Natomiast w komórkach I41:I71 zwykłą sumę I6:L6 ... I36:L36 Ponadto datę w ostatnich dwu wierszach kolumny dni (H35 i H36 oraz H70 i H71) warto dodać jeszcze jeden warunek, żeby...
To zdaje się, że najlepiej będzie umieścić kod w ThisWorkbook. Np [syntax=vb]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Sh.Range("B8:AK8,A16:AK16")) Is Nothing Then MsgBox Date & " " & Application.UserName End If End Sub[/syntax]Wartości wyświetlane w przykładzie przez MsgBox przypisz...
Chcesz znać wartość ostatniej danej? To po prostu wartość ostatniej komórki w kolumnie: [syntax=vbscript]MsgBox Cells(Cells(Rows.Count, "A").End(xlUp).Row, "A").Value[/syntax]
Jeśli to jest nowy Excel, to najlepiej sprawdzi się tu nowa funkcja WYBIERZ.KOLUMNY. Tylko dlaczego ta ostatnia kolumna ma nagłówek "n", a nie liczbowy? To jest arkusz kalkulacyjny, w którym dane powinny być przede wszystkim liczbowe. Teksty pomieszane z liczbami, to jest dodatkowy kłopot. Co oznacza to "n"? Nie można go zastąpić liczbą? Tu można sobie...
Lanzul a czym Twoje rady różnią się od moich? Dokładnie o tym samym pisałem. Ukrywane są kolumny od D (w vba jest makro które je ukrywa) czyli mają szerokość "0" oraz zablokowane są okienka. Powoduje to że w arkuszu wstawiana jest pionowa jak i pozioma czarna linia, która zakrywa obramowanie komórek. Ad 1. Jeśli przywróci się wartości liczbowe tym...
Nie skorygujesz tego. Jest to ograniczenie Excela. Masz do wyboru - albo zrobić sobie kolumny pomocnicze, w których porównasz 15 ostatnich cyfr z osiemnastocyfrowego kodu (wszystkie kody u Ciebie mają jedynkę i kupę zer na początku, więc przynajmniej dla tego przykładu nie zrobi to różnicy - możesz to zrobić jeszcze inaczej, na przykład pierwsze trzy...
Pozostało mi jeszcze zrozumienie tego kodu może komentarze będą pomocne :) [syntax=vbscript] Sub Zakresy() Dim ark As Worksheet Dim i&, j&, w& ' deklaracje zmiennych Set ark = ThisWorkbook.ActiveSheet ' utworzenie zmiennej obiektowej w = ark.UsedRange.Rows.Count + 1 ' określenie ostatniego wiersza powiązanego z ilością iteracji pętli i...
Powiem tak: przeczytaj jeszcze raz mój ostatni post #8 (tak od połowy) i porównaj z tym, co masz. Obecnie każdy z 4 argumentów funkcji WYSZUKAJ.PIONOWO (tej z ostatniego załącznika) masz zły :) Grunt, to dobrze zrozumieć tą funkcję: może Wyszukujemy wartości komórki (dajmy na to) U17; przeszukiwany zakres to Y6:AC59 i szukam tego w kolumnie 1. Czy tak?...
Jak widać nie każdy lubi łowić ryby ;P Zwiększasz tylko numer dla ostatniej pozycji - dla VBA to co masz w komórce nie jest liczbą,a tekstem. Musisz go najpierw rozdzielić funkcją Split() po myślniku, następnie w ostatnim elemencie tablicy zwiększyć liczbę o jeden i na koniec - "skleić" tablicę na powrót w wymaganym formacie. Jak przedmówca wspomniał...
Program masz "prawie" gotowy. Pomyśl, potrzebujesz odwołać się do Nr wiersza komórki spełniającej kryteria (tutaj zmienna "abc", zadeklarowana jako 'Range'). Będzie to wartość właściwości 'Row'. Następnie należy znaleźć lub określić Nr ostatniej w wierszu. Zadziałaj podobnie (metoda End), jak masz to z licznikiem pętli. Pozostaje przeliczenie (wymnożenie)...
Tak, funkcja lewy kopiuje od początku. A jak chcesz ze środka to możesz skorzystać z funkcji fragment.tekstu . Opisy tych funkcji i przykłady użycia są w pomocy, więc nie warto się za bardzo o nich rozpisywać.
Powinnaś dokładnie opisać swoje dane, a poza tym trzeba mieć świadomość istnienia dwóch zasadniczych algorytmów wyszukiwania: dokładnego i przybliżonego. Algorytm dokładny działa w ten sposób, że szuka dokładnie poszukiwanego wzorca i jeśli go nie znajdzie zwraca błąd. Jeśli wzorzec występuje wielokrotnie - zwraca pierwsze wystąpienie. Dane do tego...
wpisywane "ręcznie", a nie poprzez formuły - jak ogarnąć drugą część mojego problemu? Żeby wykorzystać makro zdarzeniowe :D to proponuję wykorzystać jednak inną kolumnę np. wolną obecnie kolumnę A :spoko: . W załączonym pliku proponuje w przedostatniej komórce kolumny A wprowadzić wartość 1 , a wówczas cały ten wiersz (od B do AH) zostanie wstawiony...
Wartości ujemne: Najlepiej skorygować przy imporcie, wystarczy kilka poprawek w istniejącym makro[syntax=vb]Sub kopiuj_z_pliku() Dim kom As Range Windows("plik importu.xlsm").Activate 'wskazane wybranie właściwego arkusza Range("A2:K1000").Select Selection.Copy Windows("rozliczanie palet.xlsm").Activate Sheets("Import").Activate 'dodałem Range("A3").Select...
2 – Jest możliwe aby w kolumnie Kartony była podświetlona komórka zawierająca najwyższą wartość ALE z wyłączeniem tras zaznaczonych jako Anulowano i Przeniesiono? Ustawiłęm dla całej kolumny formatowanie Warunkowe -> Reguły dla pierwszych/ostatnich -> 10 pierwszych elementów i zmień z 10 na 1. Sprawdziłem, oznacza na czerwono (można zmienić)...
Pomijając literówkę w przypisaniu, zamienione argumenty w Cells(row, column), zakręcony wybór kontrolki w pętli, to zdaje się coś za dużo tych pętli. Po modyfikacji http://obrazki.elektroda.pl/3585684200_1...
Napisałeś się, napisałeś, a pewnie i tak bez załącznika mało kto się w tym połapie... Ja też po którymś tam warunku wysiadłem, ale z tego co piszesz, to są proste operacje, tylko musisz zastosować kilka pętli. - zacząć możesz od zadeklarowania skróconej wersji arkuszy: [syntax=vb]Set wsrap = ThisWorkbook.Worksheets("Raport") Set wswyn= ThisWorkbook.Worksheets("Wynik")[/syntax...
Jestem początkująca w programowaniu vba... ...Potrzebuję wsparcia! Może ze względu na okres Świąteczno - Noworoczny mam ciężką zatrybkę. To co w cytacie zrozumiałem. Z resztą mam problem. Nie wiem czy dobrze zrozumiałem, ale na próbę zamień wiersz: ActiveCell.Copy Destination:=Cells(ostatniekryte... kolumna) na: Cells(ostatniekryteria,...
Sprawdź makro, które podałem Ci ostatnio. W Twoim jest pewien błąd. Otóż, jeżeli komórka A6 zawiera produkt który był w drugim arkuszu na pozycji B4, to makro nie wejdzie do pętli i zmienna y nie zostanie zdefiniowana. Druga sprawa, to przeszukiwanie kolejnego produktu, B5, B6 itd. W Twoim makrze nie ma zmiennej, która decydowałaby kiedy zaprzestać...
Najprościej nazwać arkusze i odpowiednio ustawić je na pasku zakładek. Ten z sumą nazwij "Suma" i ustaw go jako pierwszy z lewej. Pierwszy ze składnikiem/składnikami nazwij "Pierwszy", ostatni "Ostatni" Jeśli nowe arkusze będą wstawiane pomiędzy "Pierwszy" i "Ostatni", wystarczy Np taka formuła Dodano po 13 :arrow: markoz7874 A jeśli zakres będzie wielokomórkowy?...
[syntax=vbscript]ostatnia = Columns("C").Find("*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows, LookIn:=xlValues).Row[/syntax]
Intersect(Target, Columns(...)) zwraca zakres komórek typu Range(), będący wspólną częścią - w przypadku zdarzenia Worksheet_Change - obszaru, który uległ zmianie (Target) oraz wybranej kolumny (Columns(...)). Tym obszarem który uległ zmianie (Target) może być tylko jedna komórka (np. kiedy wpisujesz w nią wartość ręcznie), ale też zakres komórek (np....
Ostatni, opcjonalny argument funkcji ustaw na PRAWDA, tabela musi być posortowana.
Ale można szybciej. w komórce C2 wpisać = jeżeli(A2="";C1;A2) zatwierdzić enterem ponownie "stanąć" na komórce C2 i nacisnąć kopiuj. zjechać prawym paskiem przewijania na sam dół (ważne by tam była cały czas zaznaczona komórka C2) Przytrzymać klawisz Shift wskazać myszką ostatniąprzy danych komórkę w kolumnie C (zaznaczy się cała kolumna) Prawoklik...
Gdzieś widziałem przykład wykorzystujący funkcję API SendMessage . Ale jak to z API na różnych maszynach może być różnie. Popatrz na taki przykład Dim temp1 As String Dim temp2 As String Sub Makro() temp1 = Cells(1, 1).Value ' zapamiętanie starej wartości dla Undo Cells(1, 1) = "coś" ' wpisanie nowej wartości do komórki...
zwraca ostatni warto excel ostatni wiersz excel ostatni wartość
pomiar kanał oscyloskop domofon prestige wskaźnik wysterować komputer
głośnik pionier telefon zablokowany kontem google
Skoda Octavia 1.6 102 KM 2009 - Wibracje przy 3000 obr./min Mercedes CLS 219 - który przewód od podświetlenia wyświetlacza?