Ech, pomyliły mi się te plusy z minusami :) Trzeba zamienić warunki pętli.
Załącz plik będzie prościej. Przeskakuje, bo skąd program ma wiedzieć co to jest "kol4" i "kol5"? Nie zdefiniowałeś do czego ma się ta zmienna odnosić. W tym przypadku stwierdza, że kol4 = "" i dlatego kończy pętle.
co robię źle ... Np.: brak deklaracji zmiennych "ostw" i "ostw2", jak również deklaracje innych nie wiedzieć czemu "variant", Np.: ... ostw = Worksheets("DANE").Cells(Rows.Count, "B").End(xlUp).Row ostw2 = Worksheets("LOG").Cells(Rows.Count, "B").End(xlUp).Row Zapis " Rows.Count " odnosi się do bieżąco aktywnego arkusza, a nie do arkusza "DANE", czy...
Coś więcej o tych liczbach? Czy się powtarzają w obrębie wiersza? Czy liczbę z kolumny A chcesz porównywać tylko z innymi w kolumnie A? Czy są uporządkowane rosnąco w wierszu? W każdym razie - w załączniku przykład takiej metody "brute-force" z zagnieżdżonymi pętlami.
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...
[syntax=vb] Sub MojeKopie() Dim r&, myCopy As Boolean slowa = Array("Period", "Account", "Terminal") For r = 2 To Cells(Rows.Count, "A").End(xlUp).Row myCopy = True For Each slowo In slowa If Cells(r, "A").Text Like "*" & slowo & "*" Then myCopy = False Exit For End If Next If myCopy Then Cells(r, "A").Copy Cells(r, "C") Next End Sub [/syntax]
le bez niego nie wiem jak to zrobić inaczej aby znaleźć w drugim arkuszu nazwisko wybranego pracownika. Tak jak Maciej wcześniej pisał, bez załącznika ciężko cokolwiek doradzić ale tak bez sprawdzania na szybko zrób tak. Tą linijkę usuń [syntax=vbscript]Set SzukaneNazwiskoRow = tb_GrafikTSW.ListColumns("NAZWISKO_TSW")...
No to tak: [syntax=vbscript]Sub petla() Dim k&, i& For k = 1 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(k, 2).Value Like "Symb." Then i = i + 1 Cells(k, 2).Offset(0, -1).Value = i End If Next k End Sub[/syntax]
Co do twojego kodu, .Range/.Cells - odwołuje się do aktywnego arkusza? Chodzi mi o te kropki na początku. Nie, odwołuje się do obiektu - w tym wypadku arkusza - użytego w otaczającej klauzuli With... To taki skrótowiec, którzy przed kropką wstawia to, co jest w With, czyli zamiast powtarzać: Przy próbie tworzenia kolejnego arkusza wywala błąd 1004...
[syntax=vbscript]Sub Konwersja() With Application.FileDialog(msoFileDialogFold... .Title = "Wybierz folder z plikami CSV" .InitialFileName = Environ("userprofile") & "\Desktop" If .Show = -1 Then f = .SelectedItems(1) End With If f = "" Then Exit Sub x = "\PlikiExcel" If Dir(f & x, vbDirectory) = "" Then MkDir (f & x) csv = f &...
Wrzuć spakowany, nie wszyscy ufają takim "przechowalniom". Albo wklej samą pętlę. W skrócie: Jeśli For-Next to nie ma problemu. Jeśli 'Do', to wstaw licznik. W obu przypadkach, gdy licznik osiągnie zadaną wartość =Range(tu adres komórki), wtedy Exit Sub.
zapomniales Dir() przed Loop tj. plik=Dir()
Na pewno błąd jest w wierszu: [syntax=vbscript]Progresywne = Progres + Progres[/syntax] Nie zachowujesz dotychczas obliczonych składników, tylko ostatni pomnożony przez 2. Powinno być: [syntax=vbscript]Progresywne = Progresywne + Progres[/syntax]Nie wykluczam, że mogą być też inne błędy, ale do dokładnej analizy potrzebny jest załącznik w pliku.
Tu nie ma pętli...
Jednak chyba wygodniej będzie (jeśli chodzi o VBA) wykorzystać procedurę zdarzeniową. Przykład w załączniku.
Udało mi się uporać z usuwaniem wybranej pozycji. Natomiast nadal jest problem z dodawaniem, tzn. dopóki dodaję kolejne pozycje do bazy i nie zamknę userforma z dodawaniem jest prawie ok. Prawie, bo baza nie zawsze na bieżąco aktualizuje listboxa. Większy problem pojawia się wtedy kiedy zamknę userforma odpowiadającego za dodawanie firmy do bazy i włącze...
Do tego nie jest Ci potrzebna żadna pętla. Najpierw musisz sobie określić pierwszy wolny wiersz w arkuszu [syntax=vb]a = Sheets("Arkusz1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row[/syntax] Później po wpisaniu do arkusza danych z pól tekstowych zostaje Ci jedynie zwiększyć wartość a o 1
A mi się otwierają w 2016. Może masz coś nie tak z office2016? edit ------------------------------------ Na Twój problem: [syntax=vbnet]Sub Przenies() Dim x As Double, ostatni_wiersz As Double ostatni_wiersz = Sheets("Arkusz1").Cells(Sheets("Arkusz1"... 1).End(xlUp).Row For x = 1 To ostatni_wiersz Sheets("Arkusz2").Cells(3 + x * 12 - 12, 2)...
Odwdzięczysz się klikając "pomógł" Koledze adams_nt , który zapodał kod ;) Kod w skrócie sam się udokumentował ;), widzę po fladze że Kolega z UK, więc wystarczy komendy przetłumaczyć, bo moje tłumaczenie może nie być zbyt jasne ;) Kolejne linijki: 1. pętla For Each przechodzi po każdej kontrolce znajdującej się na formie (Me.Controls) i zapisuje ją...
... po dodaniu tego kod zaczyna bardzo długo pracować ... Nie obserwuję tego na "prostych" danych, ale spróbuj może w ten sposób: [syntax=vbscript]Option Explicit Sub Czysc_Wszystko_2() Dim czas As Single: czas = Timer If MsgBox("Wyczyścić wszystkie formularze 'Dniówek'?", vbQuestion + vbYesNo, "Potwierdź") = vbNo Then Exit Sub Dim i As Integer, w...
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....
Chyba trzeba wstawić licznik do pętli. Sprawdź [syntax=vb]Sub Dostawy() Dim OstWiersz As Long Dim j As Integer, l As Integer Dim LArkuszy As Integer, LArkuszy2 As Integer, LWierszy As Integer Dim zakres As Range, zakres2 As Range, licznik As Integer 'kopiuję dane do nowego arkusza Sheets(1).Copy after:=Sheets(1) OstWiersz = Sheets(2).Cells(Cells.Rows.Count,...
Najprościej napisać makro w VB i skorzystać z pętli
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.
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,...
Ponawiam temat. Czy jest ktoś w stanie mi pomóc?
Jeżeli "Kierownik" to zakres paru komórek które mają być wyświetlane w comboboxie to wystarczy kod: [syntax=vb]cmbSzef1.RowSource = "Kierownik"[/syntax] bez żadnych zmiennych i pętli.
No tak... Po wstawieniu kolejnych kolumn, formuły przesuwają się w prawo i zmieniają argumenty. Musisz przeliczyć, lub podstawiać formuły w osobnej pętli.
Makro niemal prosto z rejestratora, jeśli się nie mylę. Co, jeśli w arkuszu źródłowym będzie więcej niż dwie pozycje? Powinieneś pójść krok dalej i zainteresować się pętlami.
Czy istnieje możliwość definicji zmiennej pętli do while na wybrane przez siebie liczby? Potrafię zdefiniować zmienną w ten sposób, by zwiększała się ona tak jak na przykładzie o wartość dowolnej liczby: wiersz=1 Do While Range("A" & wiersz) <> "" wiersz = wiersz + 1 Loop Chciałbym zamiast przeglądania każdego rekordu z przedziału ("wiersz+1",...
:arrow: TP_D Nieee, to inny temat. Załóż nowy. Zwrócę tylko uwagę (może na coś Cię to naprowadzi), że funkcję: Dir i instrukcję: Set można zastosować wewnątrz pętli...
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.
google -> VBA pętla for Linków tam od groma :)
Sub Makro1() With Sheets("Arkusz1") For Each zakres In .Range("A1:A5") If zakres.Text = "aa" Then Range("A1").Copy Range("C1").Select ActiveSheet.Paste End If to kopiuje tylko jeden wiersz jak tu ustawić żeby kopiiowało wszystkie wiersze z zakresu w pętli????
Temat rozwiązany na innej grupie - do zamknięcia
Taka opcja istnieje, tylko że zawsze jest coś za coś. Będziesz musiał stworzyć procedurę/funkcję pobierającą z zadanego zakresu wartości, filtrującą i umieszczającą wyniki w określonym miejscu. To wszystko trzeba będzie zrobić dla każdego elementu zakresu, czyli w jakieś pętli, co dla dużej ilości elementów bardzo spowolni operację. Elementy wbudowane...
która przyrasta o jakieś 500 wierszy miesięcznie W jaki sposób dodawane są wiersze? Może trzeba zmodyfikować sposób importu danych? W takiej formie, funkcjamii wbudowanymi nie będzie łatwo. Prościej byłoby napisać własną (Split i zliczanie w pętlach)...
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...
Kod który Ci podawałem ostatnio działa tylko dla jednej kolumny, takiej samej jak Target.Column. U Ciebie nie działa bo funkcja Intersect() [zwracająca wspólną część dwóch zakresów] poza 15-tą kolumną jest teraz wywoływane na nie takich zakresach jak trzeba. Zmień początek tego makra na taki: [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range)...
Witam. Mam pewien problem z obliczaniem cen produktów w Excel które zlecił mi szef, a dokładnie chodzi mi o atomatyzację obliczenia które robię niestety ręcznie a to trwa bardzo długo. Próbowałem obliczać za pomocą wbudowanej iteracji ale niestety działa coś nie tak. I tu prośba o pomoc. http://obrazki.elektroda.pl/8884729000_1... W...
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ć...
Tylko makro i pętle w pętlach z formułą sprawdzającą za każdym przejściem wynik i jego tolerancję z E2. Swoją drogą to ciekawą pracę domową dał wam sor na święta, aczkolwiek nie za trudną - takie podstawy wykorzystania pętli :)
Cóż... Różnice w najwczesniejszym załadunku a najpozniejszym były raczej losowe. Myślałem wczoraj np żeby uprościć cały proces do wprowadzenia formuły licz.jezeli z kryterium że jeżeli w kolumnie dana godzina występuje więcej niż 5 razy. To ma przesunąć godzinę o 15 minut w tył. Tylko Excel wywala mi błąd nawet nie mogę oszacować formuły. Podejrzewam...
Zobacz [url=http://www.elektroda.pl/rtvforum/to... A dlaczego w pętli?
A nie lepiej użyć deklaracji tablicowej typu Combobox(x).value = 123 ? Wtedy możesz ogarniać to w pętli :D
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
Jak wygląda taki plik xml z wieloma? Jest jeden znacznik "<Osoba>" dla wielu, czy osobny dla każdego nazwiska? Może wystarczy zmienić wartość przełącznika 'startuj' zamiast wychodzić z pętli...
U mnie drukuje poprawnie. Jaki masz komunikat błędu?
[syntax=vbscript]Sub qq() ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To ow ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]" Next End Sub [/syntax] P.S. Dlaczego użyłeś pętli od końca do początku???
[syntax=vb]For i = 3 To 31 Select Case i Case 3 To 7, 12 To 27, 30, 31 '[dzialanie] End Select 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
1. Twórz formuły tak, żeby nie zwracały błędu (Np JEŻELI.BŁĄD) 2. Przy okazji zauważyłem, że jeśli arkusz roboczy Nazwisko jest ukryty, macro nie potrafi na niego wejść i zwraca błąd 1004. Myślałem, że ukrycie arkusza nie jest problemem dla komputera. Nie da się Selct'ować ukrytego... Nagraj wszystkie czynności, łącznie z od/ukrywaniem arkusza, albo...
Ale że jak? Jak masz n (ciągła numeracja?) arkuszy to dla każdego 1..n-1 to wykonać? Jedną komórkę czy wiele? Z R2 do R1, czyli wiersz do góry? Samo kopiowanie komórki jest proste z wykorzystaniem zapisu proponowanego przez JVR: Sheets("DATA ENTRY " & s+1).Cells(y,x).value=Sheets("DATA ENTRY " & s).Cells(y,x).value Dołóż do tego odpowiednie pętle i...
Pozwolicie, że wtrącę swoje 0,03zł. Rozwiązanie bez pętli, trochę ;) wydajniejsze przy większej ilości danych [syntax=vb]Sub x() Dim lOstRw& lOstRw = Cells(Rows.Count, 1).End(xlUp).Row Range(Cells(1, 4), Cells(lOstRw, 4)).FormulaR1C1 = "=RC[-3]+RC[-2]" End Sub[/syntax]
A jaki jest algorytm liczenia tych biorytmów? Po mojemu masz zły wzór, skąd go brałeś?. Wartości się zmieniają, tylko są to tak małe zmiany (na 11 pozycji po przecinku), że w komórce tego nie widać. Dodatkowo, jeżeli - jak przypuszczam - chcesz policzyć ilość dni życia i podzielić je przez coś, to w tej części wzoru: kolejność działań - i najpierw podzieli...
Jak zwykle wyrwane z kontekstu ;) Takie zadanie realizować należy w pętli, sprawdzając stan zaznaczenia. Prosty przykład w załączniku.
kolumna "POCZĄTEK" ma byc lub zamiast niej WYNIK? Dodano po 3 Na zdjęcie moglo byc nazwy kolumn(A, B, etc.) i początkowy wiersz. Dla VBA to jest wazne
HA HA HA... Tydzień dopero w VBA a nie sylwester... Jeszcze może mi podpowiesz bo przesunięcie o 1 umiem zmienić na 2 czy 3 i inaczej, ale chodzi mi o to, że część arkuszu będzie czytana i zapisywana: Arkusz1 A1 > Arkusz2 C3 Arkusz1 A2 > Arkusz2 C4 Arkusz1 A3 > Arkusz2 C5 Arkusz1 A4 > Arkusz2 C6 a dalsza część" Arkusz1 A5 > Arkusz2 D7 Arkusz1 A6 > Arkusz2...
Nie wiem dokładnie co masz na myśli, pisząc: po zmianie numeru komórki A1 do określonego zakresu niemniej wydaje się, że powinieneś do tego zadania wykorzystać zdarzenie arkusza "Change". Przykładowo, w module VBA arkusza, który drukujesz , możesz umieścić kod: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target,...
Interesują mnie wartości z dwóch wierszy- drugiego i czwartego. (...) Chciałbym użyć makra do wyszukania tych wierszy z pierwszego arkusza, gdzie występują wartości szukane w drugim arkuszu i przekopiowanie wszystkich tych wierszy do np. 3 arkusza. Z tego wynika, że szukasz duplikatów wierszy 1 i 4 z arkusza Nr1 w arkuszu Nr2. Zdaje się, że coś pominąłeś/pomyliłeś,...
Jeżeli chodzi o arkusz to nie ma problemu. Zamień Sheets("Arkusz1") na ActiveSheet wtedy wypełnianie tabeli będzie dotyczyć aktywnego arkusza. W załączeniu sortowanie nie na "Tabeli" edit -------------------------- Jak już jest sortowanie trochę inaczej, to numerację (Lp) dodałem do pętli wpisujących dane tabeli C
a jak na sztywno wstawić do np komórki "A5" cyfry zakresu od 1 do 50 w odpowiednim zakresie arkuszy np od 100 do 150 taka (pętla iteracyjna)?
Wykorzystaj zdarzenie 'Exit' pola tekstowego. Wyszukiwanie można zrealizować na kilka sposobów: 1. Metoda 'Find' 2. WorksheetFuncton.Vlookup(argumenty jak w WYSZUKAJ.PIONOWO) 3. Porównanie w pętli
Aaa. Tak to mniej więcej (po mojemu) powinno wyglądać. Z uwagi na późną porę nie testowałem. Sprawdź, dopracuj... [syntax=vb]Sub Makro1() m = 1 ile = Int(InputBox("podaj liczbę", "Liczba od 1 do 3", 3)) For i = 0 To IIf(ile >= 1, 1, -1) Step 0.1 For j = 0 To IIf(ile >= 2, 1, -1) Step 0.1 For k = 0 To IIf(ile >= 3, 1, -1) Step 0.1 If i + j + k = 1 Then...
Jeśli jest taka potrzeba... Nagrałem makro w Wordzie i wyszło coś takiego [syntax=vbscript]Sub Makro1() ' ' Makro1 Makro ' ' Selection.TypeText Text:="ala i as" Selection.Style = ActiveDocument.Styles("Nagłówek 1") Selection.TypeParagraph Selection.TypeText Text:="poszli w las" Selection.Style = ActiveDocument.Styles("Normalny") Selection.TypeParagraph...
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'.
Jakie to było proste masakra Nie, to jest jeszcze prostsze. W twoim przypadku nawet nie trzeba niczego przypisywać. Instrukcję warunkową wyrzucić i zostawić tylko jedną linijkę właściwą dla zainstalowanego OS. Np dla 64bit [syntax=vbscript]Private Sub CommandButton3_Click() Sheets("Arkusz1").Shapes("Picture 2").Copy Set Szukaj.Image2.Picture = PastePictureWin64()...
Dzięki za podpowiedź Mam pytanie jak przypisać wartość LinaMax dla (komórka.Value =) Tak żeby można było skończyć pętle
ten plik Excela podpięty jest do innego programu, który wrzuca w komórki H5:H30 i F5:F30 wartości liczbowe (co 0,2 sekundy). Tak więc w naszym arkuszu musimy sobie "wyobrazić" (monitorować), że w kolumnach H i F pojawią się wartości liczbowe i jeśli spełnią warunek to pojawią się w kolumnie AR i AQ. Nie rozumiem, czego nie rozumiesz ;) Zamiast kwerendy...
3. poco napisałem na tym forum??? Rozczuliłeś mnie i wprowadziłeś w zakłopotanie :oops: do tego stopnia, że napisałem Ci nie tylko 3, ale całe 4 linijki: [syntax=vb] Sub timeSubtract() Const TIME_FORMAT = "hh:mm:ss" Range("E1") = Format(TimeValue(Range("C1").Text) - TimeValue(Range("B1").Text), TIME_FORMAT) End Sub [/syntax]Masz odejmowanie czasu za...
[syntax=vbscript] wi = wi + 10 And wj = wj + 10[/syntax] - naprawdę nie wiesz co czynisz. na samym początku dodaj: [syntax=vbscript] addi = Array(10, -20, 25, 0) addj = Array(10, 25, -20, 0)[/syntax] zaś wewnątrz pętli: [syntax=vbscript]vv=2*(Cells(k, i).Value="K")+(Cells(k, i).Value="K") wi=wi+addi[vv]; wi=wj+addj[vv];[/syntax] to wszystko zasapi twój...
mnożenie :D To zwykła matematyka. Zasadniczo przetłumacz na polski i wszystko stanie się jasne :D
Tak na szybko... Bez obsługi błędów, gładzenia kodu itp. Sub czytajpliki() Dim linia, sciezka, fs As Object, f, f2, k 'Application.ScreenUpdating = False sciezka = "C:\Documents and Settings\admin\Desktop\test\" Set fs = CreateObject("Scripting.FileSys... Set f = fs.GetFolder(sciezka).Files For...
Nie ma Continue w VBA. Może chodzi ci o coś takiego? Sub przyklad() Dim i As Integer For i = 2 To 21203 For j = 2 To 21264 If Cells(i, 1) = Cells(j, 2) Then Cells(i, 3) = Cells(j, 4) Else goto nxt End If nxt: Next j Next i End Sub
np. tak: Dim koniec as integer koniec=cells(9, 24).value '<--- pobiera wartość z X9 jako koniec for x=1 to koniec Tu jest to, co ma być w pętli next x
To cała pętla? Brakuje Loop a instrukcja Exit Do powoduje opuszczenie pętli już w pierwszym przebiegu... Przy takim zapisie a = a + 2 porównujesz co drugą parę. Chyba, że tak właśnie ma być...
Witam, mam pytanie odnośnie prostego ćwiczenia w VBA które chciałbym trochę udoskonalić. Jest to prosta sprawa więc pewnie nie będziecie mieli z tym problemów. Makro działa ok, ale chciałbym je jakoś poprawić/udoskonalić? Poniżej kod oraz prosty przykład Excel. W pierwszej kolumnie zawsze będzie Imie Nazwiko, w drugiej punktacja w trzeciej ocena która...
Witam, mam pytanie jak rozwiązać następujący problem mam komórkę, która przyjmuje określoną wartość np. 4 chciałbym, żeby makro pobrało tą wartość i wykonało jakąś czynność tyle razy ile jest wpisane w tej komórce np: ActiveWorkbook.Sheets("Zes").Activate Range("A2").Select Do If IsEmpty(ActiveCell) = False Then ActiveCell.Offset(1, 0).Select End If...
jednak nadal nie wiem jak zrobic aby do zestawienia szef... były wczytywane konkretne dane po kolei z wszystkich plików ZlecenieXXX-2011.xls jakie są w całym konkretnym katalogu. Nie wiadomo jak zrobić, ale co? Kopiowanie danych (A) czy odczyt wszystkich plików (B) w celu pobrania danych do arkusza szef? A. Jeśli dane występują w takim samym układzie,...
Cześć, mam problem, chciałbym zastosować pętle dla kilkunastu comboboxów,których kolejne nazwy są zdefiniowane jako DEF. każdy combobox ma to samo źródło (rowsource). z tym że męczące jest klepanie tego samego 50razy.. [syntax=vbscript]If Left(DEF1.Value, 2) = "LK" Then Me.DEF1.RowSource = "DEF_LIST!A2:A300" End If If Left(DEF1.Value, 2) = "MN" Then...
Witajcie, Czy ktoś jest mi w stanie pomóc z poniższym makrem. W arkuszu1 mam listę 8 nazwisk (A2:A10) W arkuszu2 mam kolumna A: listę nazwisk tych samych co w arkuszu1 + inne, B: liczbę godzin (1,2...), ale również inne. Chciałbym aby w arkuszu1 w kolumnie C2:C10 sumował mi godziny dla danego nazwiska, które znajdzie się w arkuszu2. Musi to być macro....
takie coś wymysliłem że jeśli ktoś sobie założy filtry to potem skopiuje CRM do innego nowo powstałego arkusza i wtedy bedzie wklejac... ale jeszcze pętle bym potrzebował bo ja zrobilem sobie na A2 A3 A4 tylko tak zeby zboaczyc czy bd chodzic [syntax=vb]Sub drukuj() ' ' drukuj Makro ' ' Klawisz skrótu: Ctrl+Shift+Z ' Sheets("Dane").Select Range("B2:B370").Select...
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.
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ć...
Tabelka w mailu nie będzie Excelem, to raczej Word. Jeżeli wyślesz załącznik to będzie prawdziwy Excel. Zależy co jest dla Ciebie ważne. A czy potrafisz tę tabelkę z pola w kolumnie F zapisać gdzieś w Excelu jako tabelkę? To wtedy możesz zamienić to na HTML i wkleić do maila - są na to gotowce, też takiego używam. Tylko uwaga: HTML sklejony z innym...
Na podstawie samego kodu, to nie jest oczywiste. Powinnaś załączyć plik z tym kodem i napisać w którym dokładnie miejscu kodu występuje błąd. Poza tym kod jest trochę dziwny. Ile masz arkuszy o nazwie "aaaa"? Po co ta pętla? Czy pasek ScrollBar ma faktycznie numer 2?
Ad.1 Czyścić i dodawać pasujące (odświeżyć) dane do listy ComboBox'a przy zdarzeniu Exit TextBox'a Ad.2 To zależy jak to ma być przedstawione. Np pomiędzy datami: 1-07-2015 i 30-06-2015 ile jest różnicy? 0, 1, czy może 0,03? Ad.3 WorksheetFunction.VlookUp(tu argumenty jak w arkuszowej), Range().Find, lub w klasycznej pętli.
Adres musi być w cudzysłowie. Lepiej zrobić to tak: 'przeszukiwanie zakresu A1:A1000 For Each c in Range("A1:A1000") if c = "szukana_wartosc" then MsgBox "Znaleziono wartość w wierszu " & c.Row Exit For end if Next c A już najszybciej zrobić to z użyciem funkcji Range("A1:A1000").Find(....), ale przykładu...
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...
W VBA dużo jest możliwe. Deklarując funkcję możesz podać argumenty, którym później nadasz wartości przy wywołaniu, na przykład: [syntax=text]Function sumakolumna(litera As String) As Long Dim i As Long sumakolumna = 0 For i = 1 To 10 Step 4 sumakolumna = sumakolumna + cells(i, litera) Next i End Function [/syntax]W ten sposób podając literę kolumny...
Dlaczego nie przy skanowaniu? Ale jeśli w taki sposób... Najprościej makrem z pętelką (załącznik). Wypróbuj na swoich danych.
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...
Spróbuj z kopiowaniem w pętli. Przykład w załączniku. Edit: Zacznij od Range.Clear (po With), przeoczenie...
Chyba najprościej będzie wykorzystując UserForm(ik) z pętelką.
Dzięki za podpowiedź. Teraz jak to uruchomić, aby działało w pętli. Chciałbym, aby formuła działała w pętli, tj aby dla zmieniającego się parametru do zakresu B2:B5 pobierane były kolejne zawartości do C2:C5, D2:D5,...., G2:5. Dla mnie cały szkopuł sprowadza się do tego jak zapisać adres komórki, aby zależnie od zmieniającego się parametru (względnego...
makro działa ok ale przy małej liczbie wierszy. W przypadku gdy np: lp=300 to excel wpada pętle i cała operacja trwa bardzo długo i pożera dużo ramu. Da się coś z tym zrobić?
dziękuję za podpowiedzi. pomoc otrzymałem z formum Mateusz uczy Excela na FB - dziękuję Grzegorz Grygo Sub Zmiana() zmiana_czas_komorka_A1 = Cells(1, 1).Value zmiana_czas_komorka_B1 = Cells(1, 2).Value With Cells(1, 3) .Value = zmiana_czas_komorka_B1 + (5 / 24 / 60) .Value = .FormulaR1C1 End With End Sub Jeżeli chodzi o edytowanie komórki przez F2 to...
Analizowałeś to makro? Przyjrzyj się co przypisujesz do zmiennej "multi" i to przed otwarciem pliku źródłowego. Nie powinno być With DoSkop.Worksheets("AKKO"... Set reg1 = .Range("a2:a41000")... itd Jeśli filtrujesz, to ustal maskę: fileFilter:="Pliki Excel (*.xl*),*.*," Po mojemu: Albo zostaw to (poprawione) kopiowanie...
jakbyś tylko to zrobił na odwrót to bym był więcej niż szczęśliwy :) O rety ;) Dla mnie "raport", to (z definicji) arkusz wynikowy. Wygląda to jakby na próbę odwrócenia tabeli przestawnej. Trochę karkołomne zadanie na formuły. Dla 4-ech indeksów, będzie miała długość z półtora metra :) Zobacz same nagłówki w załączniku (pewnie jeszcze do poprawki),...
Byłoby prościej, gdybyś załączył plik). Spróbuj jeszcze z wyłączoną obsługą zdarzeń na czas działania pętli (Application.enableEvents=false/true)
excel pętel makro excel pętel pętel pętel efekt
lexmark napełnianie pompa wspomagać renault laguna zasilanie konwertera multiswitcha
stabilizator napięcia prądnicy wideodomofon zamel
Lokalizacja zaworu upustowego w piecu gazowym BIOS Acer Aspire 5736Z: Dostęp i Aktualizacja