wyeksportowania bez pętli Pętla ma zostać. Otwieranie i zamykanie pliku ustaw poza pętlą. Otwieranie przed, a zamykanie po pętli.
Prosta instrukcja warunkowa: [syntax=vbscript] Sub Test If Worksheets("chłodnia").Range("l10")="OK" Then Call drukuj_klient ' tutaj nazwa procedury, którą chcesz wykonać Else Exit sub ' tutaj ew. coś co miało by się wykonać, jeśli nie będzie oczekiwanej wartości End if End Sub [/syntax] andie
Dołóż pętlę sprawdzającą przed tą kopiującą. Jeśli jest nieprawidłowo, przerwij. Np [syntax=vbscript]Dim b As Boolean For wrs = 9 To 49 If WorksheetFunction.Sum(Range("BG" & wrs & ":BJ" & wrs)) > 0 And Range("BK" & wrs) = "" Then b = True Exit For End If Next If b Then MsgBox "proszę uzupełnić dane w wierszu " & wrs, vbExclamation, "kopiowanie anulowane"...
Może takie makro: [syntax=vbscript]Sub Jedynki() If IsEmpty(Range("A2")) Then Range("A2").Value = 1 ElseIf IsEmpty(Range("B2")) Then Range("B2").Value = 1 Else Range("A2").End(xlToRight).Next.Value = 1 End If End Sub[/syntax] To makro wypełnia po kliknięciu kolejne puste komórki w wierszu 2. zaczynając od A2 (po jednej). Jeśli któraś komórka jest niepusta...
Wpisz sobie jako parametr: [syntax=vbscript]Copies:=Range("A1").Val... A1 jest adresem komórki, gdzie masz wpisaną liczbę kopii. Można też użyć nazwy tej komórki, jeśli komórka została jakoś nazwana.
Opisany przez Ciebie sposób działania wydaje mi się niezbyt wygodny. Użytkownik zwykle nie lubi InputBoxów, a poza tym InputBox znika, a użytkownik może zapomnieć, co odpowiedział. Lepiej wprowadzać odpowiedzi wprost do komórek, a wybór, który ma obowiązywać przez dłuższy czas (ten sam kolor czy różne kolory) powinien być stale widoczny. W załączniku...
.. Stworzyłem proste makro, które sprawdza czy komórka X jest pusta, jeżeli TAK to czyści komórkę Y za pomocą Clear.Contents. Procedura wywoływana jest po przeliczeniu arkusza: Worksheet_Calculate.. Makro może i jest proste, ale powiązałeś je w arkuszu w tak zagmatwany sposób, że jego wykonanie się zapętla. Twoje makro wykonując się, powoduje wykonanie...
jeszcze tylko dodajmy że komórka zawiera kwotę i może być? ;-) Sub Makro1() ow = Cells(Rows.Count, "H").End(xlUp).Row For x = 1 To ow If Cells(x, 8) = 0 And IsNumeric(Cells(x, 8).Value) Then Cells(x, 10).Cut Cells(x, 15) Next End Sub
Ja w "międzyczasie" napisałem coś takiego: [syntax=vbscript]Sub GoalSeekinRange() Dim i As Long, RngForm As Range, wks As Worksheet Dim RngGoal As Range, Rngx As Range Set wks = Worksheets("Brudnopis") Set RngGoal = wks.Range("L5:L9") Set Rngx = wks.Range("J5:J9") Set RngForm = wks.Range("K5:K9") For i = 1 To RngGoal.Count If IsNumeric(RngGoal(i)) And...
Powinieneś załączyć przykładowy plik Excela, bo za dużo jest niejasności w tym, co napisałeś. Przykładowy kod, który działa wg Twojego opisu: [syntax=vbscript]Sub AddSheets() ' zakładamy, że nazwy nowych arkuszy ' są w komórkach od B5 w dół Dim ostw As Long, w As Long ostw = Arkusz1.Cells(5, 2).End(xlDown).Row For w = 5 To ostw Sheets.Add(After:=Sheets(Sheets.Count))....
Rozbudowałem Ci to makro tak, żeby uwzględniało operacje na kilku komórkach jednocześnie, ale nie zmieniałem zasady jego działania. Więc jeśli zależy Ci na historii wszystkich komórek, musisz przestrzegać pewnych reguł. Makro działa w ten sposób, że po zaznaczeniu komórki/komórek zapamiętuje ich zawartość i adres (procedura SelectionChange). Następnie...
Załączam przykładowy plik excela z makrem liczącym ilośc znaków w zadanym zakresie arkusza. Wynik podawany jest w drugim arkuszu. Makro wybiera kolejno komórki z zakresu, liczy liczbę znaków w poszczególnych komórkach i dodaje narastająco liczbę poszczególnych znaków z zakresu. Arkusz można dostosować do swoich potrzeb, np. wynik podawać w tym samym...
Niestety nie działa :/ Oczywiście, że działa ;) Sprawdza wszystkie komórki w zakresie S340. Innego nie podałeś. Do sprawdzenia zakresu >1 komórka należy zastosować pętlę: [url=http://dzono4.w.interia.pl/kurs/for... Szukanie wolnej komórki: Włącz rejestrator makr i nagraj kilka kombinacji Ctrl+strzałka (w dół/górę). Najlepiej z wypełnionymi...
Gdy inna komórka nie zawiera tych słów makro się wysypuje Ok, z instrukcją 'if' [syntax=vbscript]Sub elka() For i = Cells(Rows.Count, "I").End(xlUp).Row To 1 Step -1 b = InStr(Cells(i, 9), "Nr faktury:") + 12 c = InStr(Cells(i, 9), ", Kwota VAT:") - b If b > 12 And c > 0 Then Cells(i, 9) = Mid(Cells(i, 9), b, c) Next i End Sub[/syntax]
Jest prosty sposób na uruchomienie makra jeśli aktywowana będzie określona komórka. Powiedzmy, że zmieniasz dane w A1. Jeżeli posługujesz się klawiaturą to następna aktywowana komórka będzie A2 lub B1. Przykład uruchomienia makra dla B1 Private Sub Worksheet_SelectionChange(ByVal Target As Range) wiersz = 1 kolumna = 2 If Target.Row = wiersz...
Zobacz, czy o to chodziło. Zaznacza komórki na zielono lub czerwono wtedy gdy zarówno komórka testowana, jak i obie komórki określające przedział zawierają liczby. To zliczanie komórek zielonych i czerwonych - gdzie miałyby być wyświetlane wyniki? Tymczasem są w komórkach AI8 i AI9 w arkuszu T3.
Jeśli to wszystko jest w jednym skoroszycie, to możesz użyć też funkcji ADR.POŚR. Jej argument podaje się w formie tekstu, więc można go złożyć z kawałków. Ale użycie tego spowalnia trochę działanie funkcji, więc zależy ile masz tych danych do przeliczenia. Mogłoby to wyglądać np. tak: [syntax=text]=WYSZUKAJ.POZIOMO(D3;ADR.PO... " & A1 & "'!36:62");2;FAŁSZ)[/syntax]...
a moze mni ktos napsać jak to dokładnie zrobic bo za bardzo nie wiem
a proszę zerknąć na screena co tak naprawdę kod zrobił Myślałem że to zamierzone (bo nie znam całego kodu) - choć jak się teraz okazuje nieświadomie. (więcej szczęścia :) ) Użyłeś odwołań względnych - poza tym formatowanie warunkowe ma pewne mankamenty jeżeli chodzi o adresowanie bo odwołuje się do zaznaczonej wcześniej komórki (a w makro nie ma żadnego...
Propozycja rozwiązania w oparciu o makro. W module uniwersalnym wpisałem takie makro: [syntax=vbscript]Sub NowaData() On Error Resume Next Dim ark As String With ActiveSheet ark = .Range("BA22").Value .Range("BI21:BI25").FormulaLocal = "=SUMA.ILOCZYNÓW('[Wyniki tygodniowe.xlsx]T" & ark & "'!$H$2:$H$23;--('[Wyniki tygodniowe.xlsx]T" & ark & "'!$G$2:$G$23=$BH21))"...
Witaj. Można spróbować dopisać sobie w makro: On Error Resume Next If Cells(Target.Row, 5).Value = "" Then Cells(Target.Row, 5).Value = Now On Error GoTo 0 Linijki On Error są opcjonalne, ale jak w kolumnie E będziesz miał w zwracanej formule błąd, to makro też wyłoży się błędem. Po wymuszeniu działania w przypadku napotkania błędu wartość jest aktualnie...
Ano nie działa, bo pusta komórka jest traktowana, jako zero.
W komórce z formułą włącz zawijanie tekstu, a oprócz tego w module arkusza zdefiniuj sobie takie makro zdarzeniowe: [syntax=vbscript]Dim kom Private Sub Worksheet_Calculate() With Range("B8") If IsError(.Value) Then .Rows.AutoFit kom = 0 ElseIf .Value <> kom Then .Rows.AutoFit kom = .Value End If End With End Sub [/syntax]Alternatywnie możesz...
A mógłbyś po swojemu, wspomniałeś, że nie znasz VB, napisać, jak według Ciebie taka linijka powinna wyglądać? Podpowiem, żę blisko tego: [syntax=vb] Cells(owa2, 1).Select Selection.PasteSpecial Paste:=xlPasteValues Cells(.... = .... [/syntax] Cells(1,1), to komórka A1. Cells(4,2), to komórka 4B. Proste, prawda?:)
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ć...
Nie sprawdzałem działania, ale: Błąd 1: nieprawidłowa instrukcja Rows.Count (x 1 Up, powinno być XLUP). Lepiej: FinalRow = Cells(Rows.Count, 1).End(xlUp) Lub FinalRow = ActiveSheet.UsedRange.Rows.Count Błąd 2: Pętla For. Jeżeli przypisujesz wartości zmiennej i , to: Next i lub (również prawidłowo) samo Next bez jawnego nazwania zmiennej....
Sorry za zamieszanie. Dane ułożone są w poziomie przecież. Należy uderzyć w inny Np taki deseń =SUMA(ADR.POŚR(ADRES(7;A4-7&... Wciąż zakładając, że A4 to komórka z dniem miesiąca.
Chyba pomieszałam. Niestety wcale nie "Chyba" :cry: , ale na pewno :D Komórka C5 nie jest powiązana z żadnym boxem umożliwiającym jakikolwiek wybór :!: Jeżeli cokolwiek wpiszesz do komórki C5 :arrow: zaczyna działać Twoje makro (oderwane zupełnie od arkusza Słownik :!: i tamtych tabelek), lecz po wybraniu checkboxa (ze względu na kod: If TrybEdycji...
No to już tylko makro. Np takie Sub Wpisz_Jest() Columns("A:A").Sel... On Error Resume Next wiersz = Selection.Find(What:=Range(&... After:=ActiveCell, LookAt:=xlWhole).Row Cells(wiersz, 3) = "Jest" Cells(1, 2).Select End Sub Możesz je umieścić w kodzie arkusza...
Moje pytania: 1. W jaki sposób opisać warunek w którym pętla będzie działać aż do znalezienia pustej komórki w kolumnie B? 2. W jaki sposób stworzyć zapis w którym komórka B1 i C1 z Arkusza1 będzie zastępowana kolejnymi komórkami z kolumny B i C z Arkusza2 i zapisywana? 3. W jaki sposób opisać kolejne komórki (A1+i)? Nie mogę znaleźć odpowiedniego...
Uściślij: 1. Czy pliki zostały już otwarte z danego katalogu i przebywają sobie w tle programu, co sugerowałoby to co napisałeś (" pobiera z otwartego pliku ") ? 2. Czy też pliki trzeba dopiero otworzyć z danego katalogu ? 3. Jeśli trzeba, to czy jest to katalog tylko "jednopoziomowy", czy też znajdują się w nim podkatalogi, z których też należy otwierać...
Jeśli chodzi o klasyczne odwołanie, to nie jest to możliwe, gdyż odwołanie zwraca tylko wartość komórki, bez formatowania. Ponadto, nawet z użyciem VBA, komórka zawierająca formułę musi być sformatowana jednolicie (to znaczy można sformatować całą komórkę, ale nie poszczególne znaki). Szkoda, że nie dałaś pliku załącznika, bo wtedy łatwiej można by...
Właśnie to pozwoliłem sobie zmienić w przesłanym przykładzie w makrze kolegi adamas_nt Wpisz zamiast ostatniWiersz = 100 to ostatniWiersz = Sheets("Arkusz1").Cell... 1).End(xlDown).Row Wtedy makro samo policzy ile jest wierszy i będzie się wykonywało tylko do ostatniego wiersza. Warunek dane w kolumnie...
Pomogę w ten sposób: Tak przypisujesz nazwę z danej komórki Nazwa_z_komorki = Worksheets("KON").Cell... 1).Value i podobnie ilość Ilosc_z_komorki = Worksheets("KON").Cell... 2).Value Do powyższego cells(nr wiersza,nr kolumny) dodanie arkusza: Sheets.Add Nadanie nazwy arkuszowi: ActiveSheet.Name...
Jak Ci wierszy przybędzie do miliona, to zaczniesz myśleć, dlaczego to tak długo liczy...;) Ale jeżeli już chcesz tak, to nie sprawdzaj w każdym przejściu pętli, czy komórka jest różna od pustej, tylko wylicz wartość końcową pętli na przykład tak: [syntax=vb] For x = 2 To Cells(Rows.Count, "A").End(xlUp).Row Cells(x, 1) = "=IF(RC[1]<>"""",R[-1]C+1,"""")".....
Cześć, może spróbuj napisać taką pętlę: [syntax=vbscript]Sub test() Dim a As Short Dim i As Short Dim y As Short Worksheets("Sheet1").Activate a = InputBox("wpisz liczbę", "szukana pozycja", 1) For i = 1 To 3000 If Cells(i, 1).Value = a Then If Not Cells(i,2).Value = "" Then Cells(y, 3).Value = Cells(i, 2).Value y += 1 End If End If Next i End Sub [/syntax]...
Tak, tak rozumiem tylko jak to sie mówi: " A u mnie to działa normalnie " ciekawe od czego to zależy... ?hmm Niestety Excel to wredny typ. Pusta komórka czasem nie jest pusta a tego nie widać i wiele innych podstępów Micro$hita ... potestuje u mnie jeszcze i dam Ci znać jak coś wyknuje jeszcze Pozdrawiam .... a rzeczywiście .... zwielokrotniłem twoje...
Przetestuj poniższe makro mając otwarty arkusz z tabelą wejściową [syntax=vb]Sub Sum_By_Account() Dim shSrc As Worksheet 'arkusz źródłowy Dim shDest As Worksheet 'arkusz docelowy Dim lOstRw As Long 'ostatnia zajęta komórka tabeli źródłowej Dim lOstRw2 As Long 'ostatnia zajęta komórka tabeli z wyfiltrowanymi unikatami numerów kont With Application .ScreenUpdating...
Popełniłeś dwa błędy w jednym wierszu... Do wyboru If IsNumeric((Cells(i, "I").Value)) = True Then If IsNumeric((Cells(i, 9).Value)) = True Then Natomiast wyszukanie ostatniego wiersza z nazwiskiem możesz zrobić w pętli przez porównanie. Np (dla wierszy od D2 w dół) taką Sub petla() For...
Witam To jest makro wyszukane w jakiejś książce nie pamiętam. Tworzy nowe skoroszyty dla filtra z tabeli przestawnej. Zmień fragment aby tworzyło nowe arkusze Dodano po 6 Proponuję stronę helion.pl Tam do książek są przykłady na FTP. Skarbnica przykładów ;-)
Witam :) Mam taki problem: Nie orientuję się za bardzo w VB, a chciałabym stworzyć makro uruchamiane, jeśli dana komórka zawiera jakąś wartość, a dokładniej, żeby sam tworzył się wykres. Nie wiem czy najpierw zrobić to makro i potem dodać jakąś linijkę kiedy będzie uruchamiane, czy jak? Z góry dziękuję za odpowiedź! :)
Wszystko to chyba jest dość proste, tylko przedstawione w jakiś dziwnie zagmatwany sposób. Po pierwsze nadal nie jest jasne czy masz jeden plik czy dwa pliki. W pierwszym pliku jest Makro1. Wywołujesz to makro w kodzie, który nie ma nazwy, bo nie pokazałeś całego makra, tylko kawałki. I teraz czy ten kod bez nazwy jest w osobnym pliku, ale z takimi...
Sub ZamienNaHiperlink() Dim komorka As Range Dim nazwaPliku As String Dim sciezka As String Set komorka = ActiveCell If IsEmpty(komorka.Value) Then MsgBox "Aktywna komórka jest pusta.", vbExclamation Exit Sub End If nazwaPliku = Trim(CStr(komorka.Value)) ' Buduje pełną ścieżkę z podwójnymi ukośnikami sciezka = "file:///D:\as\" & nazwaPliku &...
także wszystko powinno działać No właśnie nie. Co do twojego kodu to jak chcesz to [syntax=vbscript]Sub Makro_K() On Error Resume Next Range("I20:O119").SpecialCells(xlCellTyp... = "=IF(R9C4=R18C,""X"","""")" End Sub[/syntax]
Zrobiłem nagrałem makro które automatycznie odświeża 3 tabele (co 5 minut). Nie do końca. Makro "start" odświeża 3 tabele i planuje jednorazowe uruchomienie makra "button3". Żeby działało co zadany czas musisz wywołać procedurę "start" w "button3". Co może być nie tak? makro czasem działa, czasem nie. Wpisz jawnie nazwę arkusza, w którym znajduje się...
Jak zmieniłeś nazwy arkuszów ("Arkusz1" to teraz "BAZA" a "Proszki" to "MAŁE") to w całym kodzie makra trzeba je zmienić, a nie tylko w jednej linii. Poza tym (nie chce mi się tego mocno analizować dlaczego) ale makro odczytuje ostatnią pustą komórkę w kolumnie B arkusza "Dane" jako "zapisaną". Nie wiem czego - może ktoś z kolegów wyjaśni. Dlatego dołożyłem...
W vba, Msg box z zapytaniem o datę, wpisanie, zabezpieczenie arkusza, formuły w komórka sąsiednich rozkminią dzień, miesiąc, rok.
Super artykuł i fajnie wyjaśnione, ale ... Jako fotograf i to pracujący kiedyś w tym zawodzie, używam komórki ustawiam tryb makro i mam podobne rezultaty, a lustrzanka Nikona kurzy się ;) a teraz dlaczego, po pierwsze gabaryty. Stawianie wielkiego stanowiska aby zrobić zdjęcie małej płytki to czas, a czas zawsze kosztuje, raz więcej raz mniej ale kosztuje....
Komórkowe zdjęcia też robią i zawsze są pod ręką. Te zdjęcia mogą być w pełni użyteczne. Ja jednak w fotografii postawiłem na makro i tu komórki i małpki nie sprawdzają się w terenie. Muszę mieć lufę aby nie włazić do mrowiska. Przykładowo 100 mm obiektyw pozwoli mi robić zdjęcia 1:1 z 20 cm a komórka daje mi odwzorowanie 0,1 z odległości paru mm. To...
Może makro napisać co przeszukuje komórki. Makro do Worda? Pisanie przez mnie zejdzie pewnie dłużej niż kopiowanie komórka po komórce. Nigdy makr do Worda nie pisałem, to raz, a dwa to wiem, że z tabelami w Wordzie i to jeszcze nieciekawie wypełnionymi są problemy. Makra do Excel'a robiłem dawno temu i tu nie było by większego problemu, ale Word to...
makro komórka komentarz makro kopiować komórka makro podświetlić komórka
odpowietrzenie pompki kabiny odpowietrzenie beretta głośna syrena
pilot emtec instrukcja pralka samsung zawiesza
Termistor NTC 100kΩ i 10kΩ do Whirlpool WF S4160 BF – numery części, zamienniki, diagnostyka Ares: Anulowanie pobierania plików - przyczyny i rozwiązania