Bez sprawdzania [syntax=vbscript]Dim kom As Range For i = LBound(tblArkusze()) To UBound(tblArkusze()) With Sheets(tblArkusze(i)) Set rngTmp = .Range("O2:O" & Cells(.Rows.Count, "B").End(xlUp).Row) With rngTmp.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=$BY$2:" & Range("BY2").End(xlDown).Address...
Niestety dalej się zapętla. A jest możliwość dla osobnego buttona? tak żeby były buttony: Start Stop 1. Niemożliwe, pewnie kod przycisku masz w innym module niż procedurę. 2. To nie jest konieczne.
wyeksportowania bez pętli Pętla ma zostać. Otwieranie i zamykanie pliku ustaw poza pętlą. Otwieranie przed, a zamykanie po pętli.
Chciałbym napisać makro No właśnie. Jeśli wiesz jak zajmie Ci to 5 minut. Chcesz się dowiedzieć, czy dostać gotowca (w takim przypadku wrzuć plik z przykładem)? Po mojemu trzeba zadziałać przy pomocy dwóch, zagnieżdżonych pętli, znając ilość kolumn (End(xltoright).column), Nr pierwszego wiersza z nazwiskiem i Nr pierwszego wiersza w arkuszu docelowym....
Będę bardzo wdzięczna za pomoc Na forum jest wiele podobnych przypadków. Proponuję nagrać makro, a następnie użyć metod (pętli) ze wspomnianych przykładów.
Jeśli adresy w podglądzie są prawidłowe, to podstaw kopiowanie. [syntax=vbscript]Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Arkusz2") wdst = 3 With ws For w = 2 To 812 Step 6 For k = 11 To 24 Step 3 'podgl = Range(Cells(w, k), Cells(w, k + 2)).Address(0, 0) & " kopiuj do " & Cells(wdst, 8).Address(0, 0) .Range(.Cells(w, k), .Cells(w, k +...
[syntax=vbscript]Sub DoBazy() kol = Application.Match([C3], Sheets("Baza").Range("A1:GR1"), 0) If Not IsError(kol) Then For i = 1 To 260 Worksheets("Baza").Cells(i, kol) = Worksheets("DoBazy").Cells(i, 3) Next i MsgBox ("Dane dla daty " & [C3] & " zostały skopiowane") Else MsgBox "Brak danych." End If End Sub [/syntax]
Może to Ci pomoże. Makro, dla podanej "szukana" przeszukuje każdy wiersz. Jeżeli znajdzie szukaną to kopiuje cały wiersz i przenosi do innego arkusza Dodano po 3 jeszcze raz bez zbędnych żeczy :) [syntax=vb]Sub Szukaj() Dim wiersz As Integer, kolumna As Byte, szukana As String, NumerWiersza As Integer Dim lastRow As Integer With ActiveSheet lastRow...
Czułem, że trzymasz coś w rękawie ;) Z takim pryszczem poradziłabyś sobie. Spróbuj takiej pętelki [syntax=vb]Sub Merguj() Dim wrs As Long, merg As Long wrs = 1 merg = wrs Application.DisplayAlerts = False Do While Cells(wrs, 1) <> "" If Cells(wrs, 1) <> Cells(wrs + 1, 1) Then With Range(Cells(merg, 1), Cells(wrs, 1)) .Merge .HorizontalAlignment...
Kod czego ... pętli ... tablicy ? Pętli przecież masz, a tablica niekoniecznie potrzebna, można np. tak (o ile problem poprawnie opisany): [syntax=vbscript]Option Explicit Private Sub CommandButton2_Click() Const pth = "P:\RAPORT\" Const fle = "Plan wk" Const sht = "Main sheet" Const fsht = "R" Dim x As Integer, week As Integer Dim dzientygodnia As...
Przecież już tą kwestię Ci rozwiązałem w makrze kilka pozycji do góry. Chodzi o to makro pracujące w pętli for. Należy tylko podać w pętli for argument jak wiele artykułów ma sprawdzać. Można też to makro rozbudować aby samo sprawdzało ile jest rekordów i zapisywało do zmiennej.
Uruchom poniższy kod w aktywnym Arkuszu3 [syntax=vb]Sub z() Dim iLstRw% Dim iLstNmRw% Dim rRng As Range j = 3 With Sheets("Arkusz1") iLstNmRw = .Cells(Rows.Count, 6).End(xlUp).Row Set rRng = Range(.Cells(6, 6), .Cells(iLstNmRw, 6)) End With iLstRw = Cells(Rows.Count, 1).End(xlUp).Row For i = 7 To iLstRw rRng.Copy Destination:=Cells(j, 9) Range(Cells(j,...
"#N/A" - to jest angelskie, w VBA tak ma byc, N/D(w komorce) myslim ze narodowe(Local)
Spróbuj z InputBox'em: [syntax=vb]w = 14 ile = Int(InputBox("Ile?", "Wpisz liczbę całkowitą", 3)) If ile < 1 Then Exit Sub Application.ScreenUpdating = False Range("A16:V29").Copy For i = 1 To ile Range("A" & 16 + w).Select ActiveSheet.Paste w = w + w Next Application.CutCopyMode = False Application.ScreenUpdating = True[/syntax]
Dzień dobry, Bardzo proszę o pomoc z makrem, potrzebuje pętle które będzie miała za zadania kopiowanie i wklejanie w odpowiednie komórki między arkuszami aktualnie mam napisane makro ale niestety sam nie potrafię jeszcze stworzyć takiej pętli Dodano po 3 Mam już coś takiego ale jeszcze nie jest to co bym chciał osiągnąć Potrzebuje dla następnego wiersza...
:arrow: Do autora: Dobrze podstawiłeś to makro? W załączeniu przykład z działającym makrem kolegi adamas_nt Poprawiłem tylko to, że nie liczy dla 100 wierszy tylko dla wszystkich wierszy w kolumnie A zeszytu1. Dodane po czasie ----------------------------- Zmieniłeś treść wiadomości więc moja uwaga nie ma już uzasadnienia, niemniej pozostawiam przykład...
Ustaw w oknie właściwości pola pozycję "Locked" na True. Automatycznie szarzeje zdaje się tylko w Accesie. Ustaw ręcznie lub warunkowo w kodzie formy.
Zaczynając od wiersza 2 wykonujesz pętlę dopóki w A jest niepuste. Czyli np. jakoś tak:[syntax=vbnet] Sub Sumowanie() Dim Y As Long, S As Double Y = 2: S = 0# Do While Cells(Y, "P") <> "" If Cells(Y, "P") <> 0 Then S = S + Cells(Y, "P") Else Cells(Y, "R") = S: S = 0# End If Y = Y + 1 Loop Cells(Y - 1, "R") = S MsgBox "Gotowe" End Sub [/syntax]
Napisałeś pętlę nieskończoną. Nie do końca łapię co chcesz zrobić. Może wystarczy licznik pętli przesunąć poza gałąź If Do Until ActiveSheet.Range("A" & i) = "" Or ActiveSheet.Range("A" & i + 1) = "" If Range("A" & i).Value = 37258 Then Range("A" & i + 1).EntireRow.Insert...
a co masz na myśli mówiąc "...podstawiać formuły w osobnej pętli"? Wstaw kolumny, wpisz ręcznie formuły sumowania i przepisz argumenty do makra. Po zakończeniu pętli wstawiającej kolumny i nagłówki (usuń linię z wstawianiem sum), dopisz następną wpisującą tylko formuły.
Zastanów się, czy makro toggle jest operacją atomową. W tym kodzie można tą operację rozbić na 3 etapy: pobranie IO_PORT, zanegowanie bitu oraz zapisanie IO_PORT. Jeśli przerwanie wystąpi pomiędzy pobraniem a zapisaniem IO_PORT, przerwanie spowoduje zmianę stanu pinu, ale zaraz po powrocie nastąpi wpisanie nowej wartości z IO_PORT, z którą wiąże się...
Witam ponownie, Nie linczujcie mnie :) podejrzewam, że dzisiaj jeszcze poproszę kilka razy o pomoc - jestem początkująca, ale bardzo chętna do nabywania wiedzy:) Mam problem ze stworzeniem pętli do tworzenia nowych skoroszytów, napisalam makro tworzące 10 skoroszytów o nazwach dane_1, dane_2 itd., zapisujących się w folderze utworzonych na pulpicie...
Najprościej byłoby umieścić w tablicy/kolekcji i posortować (chociaż 'selecteditem' jest kolekcją, można więc spróbować sortowania "w locie").[syntax=vbscript]Dim fd As FileDialog Dim tablica As Collection Set tablica = New Collection Set wkb1 = ThisWorkbook Set fd = Application.FileDialog(msoFileDialogFile... With fd .InitialFileName = Environ("HOMEPATH")...
A co to makro ma niby zrobić?? Generalnie, dla wartości w komórce A2, robisz to pętlą For: [syntax=vb]For i = 1 To Range("A2").Value 'procedura do wykonania Next i[/syntax]
Ciekawa sprawa... Przecinek jakby z innej bajki i nie chce się formatować komórka. Spróbuj w pętli: [syntax=vb]Sub Makro() Dim c As Range For Each c In ActiveSheet.UsedRange If Right(c, 1) = "*" Then c = Val(Left(c.Value, Len(c) - 1)) c.NumberFormat = "0.00" End If Next End Sub[/syntax]
Pytanie o sens całkowicie zasadne ;) Nie rozumiem... Uruchamiasz powyższe makro skąd? W tym makro wywołujesz w pętli makro z jeszcze innego pliku (personal). Wcześniej odniosłem wrażenie, że w tych otwieranych plikach są makra o tej samej nazwie, wykonujące różne działania i je własnie chcesz uruchamiać. Ale, widzę, to nie tak. Dlaczego nie trzymać...
Witam, Mam problem z makrem, które dzieli duży plik na zakładki, filtrując po nazwie miasta. Makro działa w pętli, pobierając nazwę miasta z tabeli, ale przerywa działanie, gdy w zestawieniu brakuje danego miasta. Jak zrobić, aby zapisało pustą zakładkę i przeszło do następnego rekordu w tabeli.
A jak dokładnie są nazwane arkusze? Cała data, czy tylko numer dnia? Jeżeli cała data to: Sub NazwaArkusza() Range("a2") = ActiveSheet.Name End Sub przy numerze dnia: Sub NazwaArkusza() Range("a2") = ActiveSheet.Name & ".02.2011" End Sub To jest tylko dla jednego arkusza. Dla większej ilości...
Witam, mam pytanie czy ktoś by mi pomógł ponieważ mam do zrobienia proste makro natomiast ze względu na to iż nie bardzo orientuje się w temacie potrzebowałbym z tym pomocy. W załączniku jest plik: Makro, które potrzebuje: ma za zadanie skopiować komórkę z kolumny B (arkusz Dane) do arkusza Formularz do komórki H2 i wtedy wydrukować. i tak w kółko dla...
Skoro 'jesteś słaby', to zapodam Ci trochę siły.;) 1. Włącz rejestrację makra, zaznacz tabelkę i skopiuj. 2. Ustaw kursor na komórce, gdzie ta tabelka ma być wklejona i wklej. Następnie zmodyfikuj to makro o pętlę. Jak zarejestrujesz makro i poczytasz o pętli 'For" w VBA, to na pewno sobie poradzisz.
Skoro raport ma 300000 wierszy, to zmienna i musi być zadeklarowana jako long. W którym miejscu Twoje makro się zatrzymuje? A tak w ogóle to zamiast mozolnego porównywania każdej komórki z elementami tablicy przy pomocy pętli to poszedłbym w sprawdzenie przy pomocy odpowiednika arkuszowej funkcji PODAJ.POZYCJĘ czy wartość danej komórki jest w tablicy....
Może tak: [syntax=vbscript]Sub Duplikaty() Application.ScreenUpdating = False ow = Cells(Rows.Count, "A").End(xlUp).Row For w = 1 To ow For k = 1 To 8 If Cells(w, k).Interior.ColorIndex = 6 Then Cells(w, "K") = "Puste pole" If Cells(w, k).Interior.ColorIndex = 3 Then Cells(w, "K") = "Dulikaty" Next Next Application.ScreenUpdating = True End Sub [/syntax]
Fajnie jakby to wyszukiwanie nie wymagało otwierania pliku. Hmm. Przy tylu danych makro działałoby od poniedziałku do środy :) W załączonym pliku dodałem przycisk oraz (na życzenie) pętlę Do-Loop.
Jakiś program typu Macro Recorder Lite i musiałbyś "nagrać" sobie makro w pętli z całym procesem czynności jakie chcesz, żeby wykonywało. Dokładniej musiałbyś po kolei nagrać co chcesz, kliknięcie po kliknięciu, powtórzyć dla wszystkich plików i zapisać. Ograniczenie jest takie, że makro zrobi wszystko co nagrasz, ale tylko w swoim "polu roboczym" i...
W przypadku pętli i wieszania błędem było jednak makro. Po dodaniu START: na początku makro (potem reszta kodu) i w dwóch miejscach zmiana pętli tj. użycie GoTo START zamiast Call nazwa_makro naprawiło problem. Wywoływanie tego samego makra funkcją Call zamiast GoTo powodowało zamykanie WORD-a lub jego restart. Podobno nie powinno się używać w kodzie...
1. Zamknij wszystko w jednej pętli For rozpoczynając z wartością licznika 0. 2. Jeśli wartość nie zostanie znaleziona w kolumnie A makro wywali błąd. Wskazane zabezpieczenie z warunkowym wyjściem (obsługa błędów). 3. Wyjście warunkowe (x="") z pętli For ! Zewnętrzna pętla Do jest zupełnie zbędna. p.s. Co tam masz w tym pliku, że żądasz zapłaty?
Witam Widzę tu "czary mary" [syntax=vbnet]Application.DisplayAlerts = False With wkb2.Sheets(2) .Delete End With With wkb2.Sheets(1) .Name = "Lista odczytowa" End With Application.DisplayAlerts = True [/syntax]
1. pobiera listę plików .xlsx w folderze 2. usuwa zakładki, tworzy nowe i orzenosi dane z pobranego pliku z folderu 3. przenosi dane z jednej zakładki do finalnej KOR 4. przenosi poszczególne wiersze z zakładki RAT do zakładki KOR do tego samego wiersza jako kolejne kolumny 5. tworzy nowy plik z danymi z zakladki KOR, zapisuje i przechodzi do pkt 1...
Ja bym zrobił makro, które w pętli będzie wyszukiwało pierwsze wolne pole w kolumnie B i tam wstawiało wartość z A1
Użyj pętli For, wyłączając arkusz docelowy w instrukcji warunkowej. [url=http://www.elektroda.pl/rtvforum/to...
Ok. Zrozumiałem. napisałem małe makro dla zakresu i pętlą sprawdzanie. plik w zalączeniu. kod: Option Explicit Sub ZakresPetla1() Dim wiersz As Long For wiersz = 19 To 30 Step 1 Do While Cells(wiersz, 2).Value = Range("E16").Value Range("F16").Copy Cells(wiersz, 3).PasteSpecial wiersz = wiersz + 1 Loop Next End Sub
Czemu nie załączysz przykładowego arkusza? Ten kod, który napisałeś ma niewielki sens, bo w pętli powtarzasz ciągle to samo. Po lewej stronie masz adres konkretnej jednej komórki, do której trafia wynik. A po prawej stronie zmieniasz zakres sumowania, ale wyniki trafiają i tak do tej samej komórki, więc się nadpisują i otrzymujesz w efekcie wynik ostatniego...
W każdy przebiegu pętli zanim zaczniesz zaznaczać wiersze. Inaczej skąd program ma wiedzieć, że chcesz zaznaczać w innym arkuszu?
Co to znaczy, że nie działa prawidłowo? Makro uruchamia się i coś tam robi...
Masz racje może faktycznie ciężko i spaprałem opis, postaram się to sprawdzić po weekendzie. Jeszcze raz opisuje o co mi chodzi , mam 200 plikow w folderze "dane", w folderze "WZOR" jest plik wzorcowy wzor.xls oraz folder "CEL" czyli jest tak skrypt z folderu "dane" pobiera pierwszy plik to jest otwiera plik np g35.xls kopiuje odpowiednie zakresy komorek...
Samo zsumowanie to nie problem gorzej z wydzieleniem kont które istnieją w górnej tabeli wpisaniem ich do dolnej tabeli. Tu potrzebne jest już makro z pętlą do 31 a w pętli ustawianiem listy kont. Ale najprostszym rozwiązaniem jest nagranie makra w postaci : posortuj tabelę wg konta ... potem ... sumy pośrednie ... przypisz do przycisku i ... już jest...
Ponieważ zakładek było ok. 90, zrobiłem to na pieszo poprzez odwołanie komórek do arkusza docelowego. CLUBS, dziękuję za pomoc z pętlą :)
Niestety musi być w jednej tabeli:/. Proszę pomóżcie -jakiej pętli użyć?
Czy da radę stworzyć jakieś makro dla rozwiązania tego problemu. Da się. Inną pętlą z wykluczeniem "_" (załącznik).
czas wykonania procedury skrócił się z 10 minut do 1,01 minuty Aż za bardzo ;) Można też wcześniej obliczyć sumę z pierwszych pętli (wynik częściowy)... to nie za bardzo rozumiem jakby to miało wyglądać w kodzie by było efektywne Myślałem o tej linii: If x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 = 34 Then Ty poszedłeś po całości ;) Jeśli zapamiętalibyśmy...
Jeśli znaki "<" oraz ">" występują tylko jako "nawiasy" znaczników i nigdzie więcej, to można w prosty sposób skorygować pętlę Do , umieszczając warunek i polecenie wyjścia z pętli wewnątrz niej. Rezygnujemy wtedy z tablicy i określamy początek i koniec fragmentu do pogrubienia wg wspomnianych znaków.
Jeżeli arkusz ma być eksportowany do nowego pliku, to lepiej zrezygnować z formuł (będą się łącza za nim ciągnąć) i zrealizować wyszukiwanie w makro (metoda Range.Find, lub w pętli). p.s. Jeśli umieściłeś makro w module, zastosuj precyzyjne odwołania (arkusze). Przycisk przyciskiem, ale łatwo "wdepnąć"...
Tak, oczywiście jest możliwe. Najprościej używając funkcji Dir w pętli Do Until , jednocześnie zmieniając nazwy kopiowanym arkuszom wg. aktualnie otwartego, pliku źródłowego.
Bardzo szybko robi się to ręcznie. Filtr, zaznaczasz, Ctrl+c, Ctrl+v (możesz nawet nagrać makro i je wykorzystać). Klasycznie: w pętli + instrukcja warunkowa (If) oraz licznik wiersza zakresu docelowego.
Zmienna 'tblArkusze' jest tablicą przecież. Musisz w pętli [syntax=vbscript]For i = LBound(tblArkusze) To UBound(tblArkusze) With Sheets(tblArkusze(i)) .Cells.Clear .AutoFilterMode = False End With Next[/syntax]
Ciekawe czy to jest w ogóle możliwe w VBA szukałem w necie jakiejś gotowej pętli ale nic nie ma Nagraj sobie makro i podstaw to pod np. pętle for
Jakiej wewnętrznej pętli. Gdzie zmienić znak?
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...
Witam, może się komuś przyda. Miałem podobny problem, z tym, że makro otwierało mi kilkadziesiąt plików w pętli. Wszystko działało przez ponad półtora roku, a tu nagle jakiś tydzień temu zaczęło się zatrzymywać na metodzie open, ale nie przy pierwszym lecz przy drugim przejściu przez pętlę. Co ciekawe wystarczyło puścić dalej makro i przechodziło do...
Po mojemu nie zadziała, bo vb "zajęte" jest wykonywaniem pętli. Spróbuj z wywołaniem co sekundę makra "kontrolnego" i zmienną "decyzyjną". Makro 'kasowanie', to w tym przypadku po prostu skok na skróty . [syntax=vbscript]Private o As Integer Sub czekaj() o = 0 UpdateClock End Sub Sub kasowanie() o = 30 End Sub Private Sub UpdateClock() If o = 30 Then...
Rozumiem. Ulepszam pomysł :) Jeśli chcesz się pozbyć nagłówków to zrób takim poleceniem, gdzie: +1 oznacza, że obcinany będzie pierwszy wiersz for /r %i in (*.csv) do more +1<%i>>wynik.tmp ren wynik.tmp wynik.csv edit: obcięte wyniki zebrałem najpierw w pliku tmp, żeby przy każdej iteracji nie uwzględniał się w pętli
Jeśli ma się to odbywać automatycznie, myślę że makro musiałoby być uruchamiane przy otwarciu arkusza. Powinno zawierać funkcję timer, a reszta kodu (badanie godziny, kopiowanie itd) w pętli, uruchamianej co czas określony przez PauseTime, lub coś podobnego. O to chodzi?
Najprościej napisać makro w VB i skorzystać z pętli
Kreska jest błędem, natomiast makro działa jak należy. Makro jest uruchamiane przez przycisk, który należy dodać do arkusza lub przez menu Narzędzia.Makro.Makro.. Uruchom.
chodziło o kolumnę 7, sorry ale działanie sprawdzające powinno być to samo Gdy dochodzi do komórki która nie jest liczbą wywala makro rok_Wniosku = ark.Cells(wiersz_Ha, 7) // type dismach zawartość komórki #ADR!
Co masz na myśli pisząc "karta"? Dla arkuszy skoroszytu można zagnieździć kod w kolejnej pętli For ark = 1 to thisworkbook.sheets.count ' lub liczbowo indeksy Np 2 To 4 sheets(ark).select 'kod Next
Nie widzę sensu w działaniu tego kodu, gdyż za każdym przebiegiem pętli zmienia się zawartość 4 tych samych komórek. Zakres C3:C6. Poza tym nie wiem po co w pętli wyświetlanie informacji MsgBox. Zapytam więc: co chciałeś osiągnąć pisząc to makro?
Jest w kodzie arkusza (nie w module). Procedur zdarzeniowych oraz 'Private' nie widać w menu 'Makra'.
Przejdź krokowo (klawisz F8) i zobacz ile kroków wykonuje pętla. Może trzeba zmienić warunek, może kolumnę. Nie wiem, nie widzę pliku źródłowego... Jeśli działało Ci to (na tylu zmiennych obiektowych) dla jednej linii, powinno działać w pętli.
Odłożyłem, jednak nadal pojawiały się momenty, w którym powrót następował po nieco dłuższym okresie czasu, niż powinien. W tym celu zrobiłem bliźniacze makro, wykorzystujące jednak trzy następne rejestry (r20-r22). Jedno makro stosuję wewnątrz pętli głównej, drugie w obsłudze przerwania i wtedy wszystko działa poprawnie. Jeśli istnieje bardziej eleganckie...
Ale mnie chodzi o Makro wstawiające do bieżącego Skoroszytu (Zeszytu) Makro we we właściwości: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) No i w czym problem? Ja podobnie jak adamas_nt nie rozumiem problemu... plik1.xls ok plik2.xls ok plik3.xls ok
A nie dałoby się jeszcze ograniczyć tego zakresu kolumnami? Makro działa tylko w jednej kolumnie, czwartej (While Cells(wrs, 4 )). Doklej tylko te 6 linijek i dopisz warunek pętli 'Do'.
Witam serdecznie. Potrzebuje przerobić pewne makro, z dużą częścią przeróbek już sobie poradziłem i wszystko działa tak jak potrzeba jednak potrzebuję zwiększyć funkcjonalność tego makra. Mianowicie makro wczytuje dane z plików tekstowych za pomocą kreatora importu tekstu ;( chciał bym zrobić tak aby makro działało w pętli i po uruchomieniu przeliczyło...
Witam, fajne kolejne propozycje Dar.El ;) ... teraz coś ode mnie, myślę wprawdzie, że to makro nie będzie już tak uniwersalne jak poprzednio zaproponowane, ale idąc za ciosem, bo było mi to akurat często potrzebne: ;Increment, Jump if No HIGH ; IJNH licznik,etykieta pętli ; licznik - tylko rejestry R16 - R31 .MACRO IJNH INC (at)0 CPI (at)0, 255 BRNE...
Cóż, jeśli masz Exit Do bez żadnego warunku... Z drugiej strony: Jeśli wyrzucisz Exit Do pojedziesz do końca kolumny (pętla nieskończona). Chyba, że o to Ci chodzi...
Witam, Mam problem z makrem. Chciałbym by komórki C3:D5 przeniosły się do pierwszego miejsca od góry w kolumnie E gdzie znajduje się "+", C14:C16 przeniosły się do pierwszego miejsca od góry gdzie znajduje się "+" ("+" w E5 już wtedy nie będzie), itd. Zrobione przez mnie makro nie działa w pętli i do końca nie robi to co powinno. Pozdrawiam Tematy scaliłem....
Interesuje Cię rozwiązanie formułami (tu z kolumną pomocniczą) http://obrazki.elektroda.pl/3664512400_1... czy makro (kopiowanie warunkowe w pętli)?
Z tymi -1,1,0 chodzi o to, że tylko te liczby wchodzą w ciąg 5 elementowy (liczbę L u nas ) czyli moze byc np -1,0,1,0,-1. Już rozumiem. Niestety w tym przypadku moje rozwiązanie przy wystąpieniu "-1" rozjedzie się, więc trzeba je skorygować. Pytanie czy dane w jednej komórce (dana "liczba" ) są takie jak przedstawiłeś w przykładzie czyli cyfry rozdzielone...
Pożądany efekt aktualizacji tabeli w arkuszu "3" 961000 można uzyskać poprzez makro aktualizujące (odświeżanie danych skrótem ctrl + a :D ) z zastosowanie pętli typu: 961004
Dzień dobry. Za pomocą Logo AcessToll pobieram wartość licznika do Excela. Udało mi się stworzyć arkusz, który generuje trend z ostatnich 100 próbek pobieranych co 60sec, czyli mam informację z ostatnich 100 minut. Aby mieć dane z całego dnia, potrzebuje makra lub formuły, która będzie przepisywała wartość komórki A3 w arkuszu do kolejnych wierszy w...
No tak, tymon dał makro forever więc moja wskazówka dotycząca pętli while mogła być trochę myląca :)
Makro, a w makrze:[syntax=vb] Sheets("Arkusz1").Select Sheets("Arkusz1").Copy After:=Sheets(3)[/syntax] ... ostatnia linijka powtórzona tyle razy, ile razy chcesz skopiować arkusz (może być np. w pętli). Dokładne parametry - odsyłam do help'a Excel'a.
Witam serdecznie. Mam wiersze z tekstem pogrubionym i normalnym(oba rodzaje tekstu występują w pojedynczej komórce) .Chciałbym aby w pętli makro wycięło pogrubiony tekst z komórki np A1 i wkleiło tylko (pogrubiony tekst) do odpowiedniej komórki C1 itd czyli A2 do C2 czy A3 do C3 itd.Może się tak zdarzyć że w którejś z komórek nie będzie pogrubionego...
Do pierwszego możesz użyć funkcji RIGHT (zakładając że tydzień jest dwucyfrowy i zawsze na końcu) tydzien = Right(wartosc_komorki, 2) Do drugiego: albo użyć przycisku którego kliknięcie wywołuje makro dodające nową osobę do zakłądki "status" i "zasoby", albo spróbować obsłużyć zdarzenie Worksheet_Change zawężone do kolumny gdzie jest nazwisko....
Można zrobić to stosując makro, które w pętli przeszuka kolumnę komórka po komórce i po napotkaniu szukanej wartości skopiuje cały wiersz do nowego arkusza. Następnie wznowi przeszukiwanie od miejsca zatrzymania i po napotkaniu szukanej wartości - kopia wiersza. I tak do ostatniej niepustej komórki. To co napisałem wygląda prawie jak przepisane od Ciebie,...
Makro + pętla zagnieżdżona.
Potrzebuję makro, które usunie mi cały wiersz Co stoi na przeszkodzie, aby kolega napisał sobie takie makro? Przykładów różnych pętli jest na naszym forum pod dostatkiem, usuwanie wiersza można nagrać rejestratorem, kod wstawić do pętli i podstawić zmienne. Metoda do wyboru: porównywanie każdej z każdą, lub wyszukiwanie (Find) W razie problemów z działaniem,...
Makro _delay_ms nie może być używane ze zmienną jako argumentem - tylko stała wartość. Jeśli chcesz mieć opóźnienie o zmiennej długości, zrób pętlę wykonywaną ileś tam razy, a w każdej iteracji usypiaj o 1ms.
Dziekuję bardzo za odpowiedź! Podobnie jak moje, Pana makro u mnie też nie zadziałało. ale wiem już dlaczego.. Moje i Pana makro zakłada, że podczas działania pętli i sprawdzania wartości w kolumnie H poprzedniego wiersza zostaje ona zapamiętana. Jednak tak to nie działa, gdyż pętla zakłada sprawdzanie wiersza po wierszu. (skok o jeden) Wystarczy wpisać...
Witam, nie znalazłem rozwiązania na forum. Mam makro, które otwiera linki wpisane w komórki. Wszystkie linki znajdują się w pierwszej kolumnie i lecą daleko w dół. Problem w tym, że chciałbym, aby pętla wykonywała to makro otwierania linku do momentu osiągnięcia numeru wiersza wpisanego w inną komórkę. Czyli jeżeli wpiszemy w komórkę '500' to pętla...
Możesz zastosować takie makro: [syntax=vbscript]Sub Kopiowanie2() ' ' Kopiowanie2 Makro ' Dim lw As Long, i As Long, j As Long Sheets("Arkusz1").Activate '1 lw = Cells(Rows.Count, "A").End(xlUp).Row '2 j = 1 '3 For i = 2 To lw '4 Range("A" & i & ",B" & i & ",D" & i & ",F" & i).Copy _ Destination:=Sheets("Arkusz2").Range("A" & j).Resize(Range("G" & i))...
Dzień dobry! Potrzebuje kod w makrze Założenia: Będzie powtarzał daną wartość np. 3000 lub tekst w danej kolumnie w askusz1 oraz powtarzał daną wartość np.0000 lub tekst 2 w arkuszu 2
Dlatego myślałem o dodaniu ewentualnego oczekiwania na naciśnięcie klawisza w pętli tylko nie wiem jakim poleceniem. Jeżeli makro zostało już uruchomione to nie przerwiesz działania innym makrem czy przyciskiem, tylko możesz cisnąć szybko 2x klawisz escape. Tak jak pisałem wcześniej przenieś tą pętle pod 'worksheet calculate' i wtedy możesz zmieniać...
Trochę to bez sensu. PRL napisał makro reagujące na zdarzenie i działające w konkretnym miejscu. Ty chcesz je zmienić na działające na całym arkuszu w pętli. Oczywiście da się tak przerobić, ale to już będzie inne makro, do innych celów i potrzebujące więcej czasu na działanie. W zależności od potrzeb możesz stosować jedno lub drugie. U mnie zwykle...
czy jest taka funkacja w excelu ktora dodaje liczby z 1 i 2 kolumny i wyswietla w tej pierwszej kolumnie? Zwykłą funkcją dodawania zapętliła by się. (Zauważ że po czymś takim zmienia się liczba w 1 kolumnie czyli wynik znowu by się nie zgadzał czyli znowu trzeba dodać i tak w kółko ...) Rzeczywiście to rozwiąże tylko makro (dodawanie w pętli dla poszczególnego...
Dałoby się (potrzebna byłaby jeszcze jedna kolumna pomocnicza i dość długa formuła wynikowa), ale przy tej ilości wierszy przeliczanie arkusza trwałoby nieznośnie długo. Chyba żeby zrezygnować z automatu i przeliczać ręcznie. W przypadku VBA nie widzę innego sposobu jak sprawdzanie wszystkich możliwych kombinacji w pętli...
Zamiast tej linijki[syntax=vb]Wb.Sheets.Copy before:=ThisWorkbook.Sheets("makro")[/sy... pętlę For, z warunkowym kopiowaniem arkuszy. Warunkiem może być cells.find(what:="*") z wyłączoną obsługą błędów i jeśli Err=0, kopiujesz.
Witam mam w załączeniu makro które importuje plik txt do Excela, muszę jednak ograniczyć import tylko do wybranych kolumn, tzn jeżeli wybiorę datę( zawsze to bedzie ostatni dzień miesiąca) 30.09.2012 to powinny kopiować się wszystkie kolumny do września, wiem że można wyciągnąć nr miesiąca z tej daty ale jak to zapisać w pętli aby makro wiedziało jakie...
Dzięki wielki. Super, makro działa
Dzięki czyli jak dobrze rozumiem muszę wywołać jedno makro w drugim jeśli chcę je zatrzymac ?
rezystancja pętli separator pętli generator pętli
whirlpool kontrolka układ centralnego ogrzewania otwarty honda civic termostat
manta napięcia zasilania manta napięcia zasilania
Zmywarka: Tryb Eco, brak wody, piszczenie, miganie Trzeci niebieski przewód w wiertarce - jak podłączyć?