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...
[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.
Jednak chyba wygodniej będzie (jeśli chodzi o VBA) wykorzystać procedurę zdarzeniową. Przykład w załączniku.
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
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ą...
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",...
Ponawiam temat. Czy jest ktoś w stanie mi pomóc?
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)...
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...
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,...
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...
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
Temat rozwiązany na innej grupie - do zamknięcia
Ech, pomyliły mi się te plusy z minusami :) Trzeba zamienić warunki pętli.
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ć...
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,...
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)...
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,...
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ś 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.
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
A jeśli bym chciał na odwrót?? żeby to z kolumny C przekopiowało się do kolumny A, z której wyszukuje tekst "aa" i zastąpiło ten tekst czymkolwiek co jest w kolumnie C, a C kolumnę pozostawiło pustą??? [syntax=vb]Sub Makro1() With Sheets("Arkusz1") For Each c In .Range("A1:A5") if c.Value = "aa" Then c.Value = .Range("C" & c.Row) .Range("C" & c.Row)...
[syntax=vb]For i = 3 To 31 Select Case i Case 3 To 7, 12 To 27, 30, 31 '[dzialanie] End Select Next [/syntax]
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...
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...
U mnie drukuje poprawnie. Jaki masz komunikat błędu?
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...
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...
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....
... jak się za to zabrać? :) Nie wiem czy pytający to przeczyta, ale wygląda mi to na szkolne zadanie. Tu też można pomóc. Więc tak: 1. Najlepiej poszukać w google (zakładam, że na pomoc kolegów czy nauczyciela nie można liczyć) hasła VBA Excel pętle. Na pierwszej stronie będzie trochę teorii i to po polsku. 2. Wybrać rodzaj pętli (jeżeli nie wskazano...
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...
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...
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.
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...
Tu nie ma pętli...
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...
google -> VBA pętla for Linków tam od groma :)
[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...
Najprościej jak tylko możliwe Dim p As Variant p = "a" Do While IsNumeric(p) = False p = InputBox("Podaj kapitał początkowy:") If p = "" Then Exit Sub If IsNumeric(p) = True Then Exit Do MsgBox "Zle dane" Loop
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...
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ć...
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...
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...
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
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ć?
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...
Najprościej napisać makro w VB i skorzystać z pętli
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...
Jak zwykle wyrwane z kontekstu ;) Takie zadanie realizować należy w pętli, sprawdzając stan zaznaczenia. Prosty przykład w załączniku.
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...
[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???
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.
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...
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.
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...
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
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.
A nie lepiej użyć deklaracji tablicowej typu Combobox(x).value = 123 ? Wtedy możesz ogarniać to w pętli :D
Dlaczego nie przy skanowaniu? Ale jeśli w taki sposób... Najprościej makrem z pętelką (załącznik). Wypróbuj na swoich danych.
Witam, generalnie to mam wrażenie, że Twój opis jest bardziej zagmatwany niż to czego faktycznie potrzebujesz. Niestety w załączniku nie ma makr, którymi planujesz generować swoje zestawienie i to trochę utrudnia znalezienie właściwego rozwiązania. To co mi się na początek rzuca w oczy to układ pliku. Dodanie kolejnych produktów spowoduje przesunięcie...
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...
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)...
... 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...
Chyba najprościej będzie wykorzystując UserForm(ik) z pętelką.
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
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...
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
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...
Witam, Może ktoś pomoże z taką zagwozdką związaną z autofiltrem: Chciałbym za pomocą funkcji inputbox działającą w pętli wprowadzać kolejne kryteria autofiltra i na koniec uruchomić jednokolumnowy autofiltr z tymi kryteriami. Kod wygenerowany rejestratorem: ActiveSheet.Range("A4:O19... Field:=2, Criteria1:=Array("038/WD", "143/WD", "450/WD",...
potrzebujesz zmienną ogólne (b_dalej)
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 :)
Dzięki za podpowiedź Mam pytanie jak przypisać wartość LinaMax dla (komórka.Value =) Tak żeby można było skończyć pętle
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.
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?
Spróbuj z kopiowaniem w pętli. Przykład w załączniku. Edit: Zacznij od Range.Clear (po With), przeoczenie...
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
Witajcie, mam niby prosty do rozwiązania problem w Excel, ale ponieważ pętle są dla mnie wciąż ciężko przyswajalne nie umiem sobie z tym poradzić. Opis problemu: Arkusz excel w którym w kolumnie A jest 1000 wierszy z wartościami. Zawsze 4 wiersze dotyczą jednego tematu. Potrzebuję ułożyć pierwsze cztery wiersze z kolumny A w jeden wiersz ale w 4 kolumnach....
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ć...
Najpierw popraw pętelki, jak kolega JRV zauważył, bo po wielokroć ukrywasz już raz ukryte pola tekstowe. Czy kod można skrócić ? Pewnie odrobinę tak, ale po co, zyskasz raptem parę linijek. Może tylko odrobinę zyska na czytelnnści, np.: 1. Utwórz jedną dodatkową procedurę, w której utworzysz dwie pętle 'For...Next', jeden warunek 'If' i jeden 'Select...
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()...
Oczywiście, wszystko można tylko po co? Jeżeli nie masz pętli to co będzie pokazywał pasek? Najprościej pokazywać postęp do końca iteracji. Pasek musi być jakoś zsynchronizowany z procedurą, bo jak nie to możliwe będą takie przypadki, gdy zakończy liczenie na 50% albo po osiągnięciu 100% obliczenia nadal będą trwały. To najtrudniejsza część zadania,...
Mam dwie daty (d1, m1, r1) oraz (d2, m2, r2) Z pewnością przyda mi się funkcja mówiąca czy rok jest przestępny ([url=http://pl.wikipedia.org/wiki/Rok_p... Sprawdzę sobie czy R1 jest czy nie jest przestępny i przyjmę sobie ROK= 2000 albo 1900. Policzę różnicę między (d1, m1, ROK) a (31, 12, ROK) W pętelce, od r1+1 do r2-1, sprawdzając...
Moim skromnym zdaniem strasznie i niepotrzebnie sobie życie komplikujesz... :) CodeName jest właściwością tylko do odczytu: cytat z helpa VBA o którego ostatnio pytałeś: Worksheet.CodeName Property Returns the code name for the object. Read-only String . ... Nigdy w życiu nie musiałem go ustawiać z poziomu VBA, faktycznie, przy usuwaniu arkuszy Excel...
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...
Zadaniem jest napisać makro... Wystarczy "zwykła" formuła, jeśli satysfakcjonuje Cię takie rozwiązanie. Coś na wzór: JEŻELI(CZY.BŁĄD(WYSZUKAJ.PIONOWO(...));0... W VBA należałoby zagnieździć dwie pętle dla porównania każdej komórki z każdą...
pętel excel makro excel pętel pętel pętel efekt
wymiana pierścień tłokowy rozdzielenie sygnału internetowego matryca paski poziome
stabilizator napięcia prądnicy wideodomofon zamel
Usuwanie błędu czujnika kosza w sterowniku Titanic Optymalny układ pompy ciepła i kotła gazowego