Po mojemu, nie ma tu nic skomplikowanego, jedynie "trochę" grzebaniny... Pętla z zastawieniem kilku sideł w postaci instrukcji warunkowych i jazda. Excel nie jest od poprawiania błędów językowych, więc to zostawiłbym Word'owi, albo w ogóle się nie przejmował. Wstawienie grafiki do formularza nie jest problemem. Rzecz w tym, żeby przygotować źródło w...
Wystarczy zwykła pętla z wieloma warunkami. Zobacz przykład (funkcja VBA) w [url=http://www.elektroda.pl/rtvforum/to... temacie.
Jeśli plik jest otwarty to makro pomija wykonanie otwarcia arkusza "baza". a jak jest otwarty to wykonuje dalsze instrukcje: kopiowanie potrzebnych wierszy. Pomija cała instrukcje czyli nic nie robi. czemu przed for each muszę dać otwarty=false a potem odnosić się do otwarty jako true Generalnie nie musisz dać na początku 'otwarty=false' bo zmienna...
jak zrobić żeby gdy podamy 1 to żeby pętla wpisywała wartości do 1 a nie do 0,8? Tu padasz "ofiarą" zadeklarowanych zmiennych zmiennoprzecinkowych :please: (sprawdź co tam dokładnie makro wpisuje do poszczególnych komórek :D ). Jeśli ten warunek (wpisywania maksymalnej wartości) jest ważniejszy od równego podziału :?: to możesz to uzyskać kodem :spoko:...
Mam problem z dokończeniem makra w vba, mianowicie chce wyszukać wyrazy (znaczniki html) wpisane do komórek w excel-u, w całym arkuszu. Arkusz posiada 5 kolumn i około 6000 wierszy. Po wyszukaniu wyborderować i zmienić kolor ich czcionki na czerwony. Zdaje się, że źle się do tego zabierasz. Na razie pętla mieli A1 i na oko będzie mielić bez końca (pętla...
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
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...
Tam w tej komórce z FZ występuje numeracja pierwsze Fz to FZ1 ale nie wiem czy numer tutaj ma znaczenie. Ma o tyle, że do tej pory sprawdzałem, czy wartość komórki = FZ, teraz trzeba sprawdzić, czy w łańcuchu znaków, będącym wartością komórki, znajduje się fragment FZ. Dodatkowo w komórkach A pod fz znajdują się głównie cyfry bądź puste pole więc może...
Witaj. Makro to dość precyzyjny zbiór poleceń, więc projektując jego działanie musisz określić dokładnie co skąd i gdzie ma kopiować. Wartość "na przykład" 3000 lub jakiś (jaki?) tekst ma być od czegoś zależna? Skądś pobierana? Gdzie ma być "dana kolumna", o której wspomniano? Znowu mamy inną wartość przykładową, "na przykład" 0000 lub jakiś tekst w...
Tak. Używam "Microsoft Communication Control" Problem udało się rozwiązać poprzez wstawienie do pętli DoEvents. Do DoEvents Loop Until MSComm1.InBufferCount >= 9 Program w pętli umożliwia zmianę komórek bez wysyłania danych, a pętla kończy się w momencie kiedy z urządzenia zostaną wysłane dane do komórki. Po zmianie komórki procedura startuje na...
witam, przeszukałem trochę postów ale nie mogłem znaleźć rozwiązania na mój problem. Napisałem makro wyszukujące i kopiujące dany zakres jaki będzie wyszukiwany automatycznie. A teraz: Mam teraz stałą ilość nazw WW1A, WW1B itp. teraz chciałbym aby te nazwy powieliły się tyle razy - zapisały pod sobą - ile jest wierszy nie pustych ze skopiowanego zakresu....
Tak znalazłem przez przypadek ten wątek to umieszczę swoje rozwiązanie bo... jeżeli mamy wiele wierszy do przeglądnięcia (np. 100 000 czy 500 000) to "lecenie" pętlą komórka po komórce jest wolne :/ Ja zawsze w takiej sytuacji korzystam z .Find dzięki temu pętla obraca się tylko tyle razy ile jest szukanych elementów :) czyli nawet jak masz 500 000...
Dziękuję bardzo. Jeszcze jedno pytanie. Jak zrobić aby pętla zaczynała się od B4, a nie od początku arkusza jak teraz? Próbowałem zmienić For w = 4 To ow, ale jeżeli komórki na samej górze nie są wypełnione, to skrypt nie działa. A chciałbym aby zaczął on działać np od wiersza czwartego do końca :)
... jak masz zamiar je wybierać? ... z tym mam problem ... Nie masz żadnego - po prostu w dodatkowym arkuszu ("konfiguracyjnym") w pewnym zakresie komórek (np. kolumny "A") wpiszesz sobie jeden pod drugim owe nagłówki do wyszukiwania. Makro będzie pobierać nazwy nagłówków (z tego zakresu) i wyszukiwać je w pętli po pierwszym wierszu arkusza z tabelą...
Dzięki za wszystkie wskazówki (bardzo pomogły). Pętla działa już jak powinna: For i = pierwszyWiersz To ostatniWiersz If Sheets("Arkusz2").Rang... = Sheets("Arkusz1").Rang... & i) Then licznik = licznik + 1 Sheets("Arkusz1").Rang...
Włącz rejestrowanie makra i wykonaj z ręki wykresy. Zatrzymaj makro i przeedytuj jego kod usuwając zbędne elementy.
Próbowałem właśnie z funkcją jeżeli, ale w moim przypadku musiałbym ją zagnieżdżać kilkanaście razy. Więc odpuściłem. Później próbowałem dostosować makro podane przez Macieja, ale też nic z tego nie wyszło. Nie potrafię napisać makra od początku. Z dostosowaniem do konkretnego przypadku już sobie poradzę.
Podobny sposób do zablokowania kontrolki - dający efekt "wyszarzania", ale samego tekstu - można uzyskać ustawiając właściwość Enabled kontrolki na False. Excel faktycznie nie obsługuje wyszarzenia całej kontrolki, chyba że jej BackColor zmienisz ręcznie ;).
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....
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...
Tu trzeba już więcej wiedzy z VBA i czasu (którego niestety na chwilą obecną nie mam - gdyż makra znam na poziomie podstawowym i trzeba by było szukać i nagrywać a później wnioskować i wykorzystywać to co potrzebne). Jednak przedstawię pewien tok który może ci pomoże (bo o większość rzeczy już się pytałeś na forum i powinieneś je znać - szczególnie...
W szczególności co oznacza 7 różnych rodzajów typów? Coś mi mówi, że nie są to typy w rozumieniu programistów. I co oznacza różny zakres danych. Można kopiować więcej lub mniej danych w zależności od "typu", brać dane z innych miejsc? Ogólnie schemat powinien być podobny do tego: pętla po wierszach do końca (jak zdefiniujesz koniec? może do napotkania...
Wartość stała jest podana dla przykładu, na szybko napisałem stałą b. Chodzi mi o to żę gdy pętla uzupełni komórki do A10 (bo wpiszemy w inputbox 10) to żeby wykres obejmował do A10. Ale też że gdy wpiszemy w inputbox 3 to żeby wykres czerpał dane do A3 czyli ostatniego wiersza z liczbą. Wprowadzić potrzebną wartość zmienną (a,b lub inną) do zakresu...
Skoro już rozpisałeś, to użyj jej jako tabelki pomocniczej. Np: wpisz rozpiskę w L1:O15 w H1 wpisz =PRZESUNIĘCIE($A$1;0;L1-1) i skopiuj 4 w prawo i 15 w dół w h16 =PRZESUNIĘCIE($A$2;0;L1-1) i skopiuj 4 w prawo i 15 w dół etc, etc http://obrazki.elektroda.pl/1008993400_1... Ostatecznie możesz sobie napisać proste makro z wykorzystaniem...
W jednej linii masz jedną datę, pętla więc jest zbędna. Trzeba by makro "zauważyło" zmianę daty, a jeśli nie (wiele zdarzeń tego samego dnia) Nr kolumny + 1 dodano po chwili Uwaga, zmieniłem załącznik.
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...
Lub np. takie "sposoby": 1. metoda FillAcrossSheets - najkrótszy kod 2. Pętle For ... Each ... Next i For ... Next - krótki kod 3. Pętle For ... Next i Do ... Loop działająca na wcześniej utworzonym spisie nazw arkuszy - najdłuższy kod Pkt 1 i 2 - wymagają ręcznej roboty z utworzeniem spisu arkuszy, które podlegać będą formatowaniu, dodatkowo pkt 1...
Witam. Uczę się dla siebie samego pisania makr i mam prośbę odnośnie czy, ktoś z was zna jakiś dobry link do strony gdzie wytłumaczono by jak zrobić pętle w excel'u? Chce zrobić coś takiego, że w UserForm'ie wpiszę 10 liczb z zakresu od 1 do 100. Makro będzie zawsze losowało 10 liczb z tego zakresu. Gdy wylosuje 5 takich samych cyfr jak te z 10, które...
A co jest w komórce, na której makro się "wykłada"? I co dokładnie robi AUTOWIERSZ? Nie wiem ale gdzieś musiał się wkraść jakiś chochlik - zrobiłem od nowa i wszystko hula jak powinno. AUTOWIERSZ dodaje nowy wiersz wraz z formułami w poszczególnych komórkach. Dodano po 19 Troszkę muszę znów zmodyfikować początek kodu aby umieścić w innej karcie ( a...
Chcesz przelecieć po wszystkich arkuszach - do tego jest pętla For Each. Zakładam, że na każdym arkuszu oprócz arkusza, z którego uruchamiasz makro - chcesz wykonać jakąś akcję. Żeby nie wykonywać akcji na arkuszu z którego uruchamiasz makro, możesz wykorzystać warunek If jak w przykładzie.
Witam, Mam problem z napisaniem makra w Excelu. Mam dwa arkusze. Chciałabym sprawdzić czy wiersz z arkusza1 znajduje się w arkuszu2. A następnie wyskakiwała informacja czy znalazłam odpowiednik wiersza czy nie. Próbowałam to zrobić pętlą, w której porównynwae są kolejne wiersze i do momentu zgodności zawartości wierszy jest ok. Jednak gdy nie znajdę...
Witam serdecznie. Jestem nowym użytkownikiem trochę początkującym w makrach i VBA w Excelu aczkolwiek mam problem: Chciałbym napisać makro kopiujące kolumnę komórek z pominięciem pustych do NOWEGO pliku (ścieżka stała, nazwa zależna od 1 komórki w arkuszu) .xls Nawet nie wiem czy potrzebna jest pętla czy wystarczy sprytne makro. Proszę o przykład na...
Źle sformułowałem pytanie. W zapisanym skoroszycie o nazwie np abc znajduje się 100 wierszy, dla każdego z nich po kolei pętla ma: 1. utworzyć nowy skoroszyt, 2. wkleić dane i wyszukać odpowiednie informacje, po czym wkleić je do abc, 3. nowy skoroszyt zamknąć 4. przejść do następnego wiersza i wykonać ponownie wszystkie czynności
Czy ma ktoś pomysły jak to wykonać Mam jeden: Pętla For dla wierszy od pierwszego do ostatniego, wewnątrz której umieść instrukcję If testującą obydwa łańcuchy, w ciele której umieść licznik. Na końcu wystarczy wymnożyć licznik przez stałą.
Witam, pracuję nad makrem które sukcesywnie będzie zczytywać odpowiednie dane z sieci WEB i wszystkie je zapisywać. Udało mi się już zmusić excel do automatycznego zczytywania danych co minutę. Problem polega na tym, iż taki plik coraz bardziej zużywa RAM. W związku z czym mam pytanie jak poradzić sobie z tym problemem? 1)Czy można włączyć excel który...
W tym wypadku wygodniejsza będzie pętla For . Jeśli docelowo dane mają być kopiowane do wielu kolumn należy zagnieździć jedną wewnątrz drugiej. Licznik pierwszej określałby wiersz, drugiej kolumnę. Twój opis nie jest oczywisty i można różnie go interpretować. Najlepiej wrzuć plik z przykładowymi danymi i układem arkusza wynikowego.
Dziękuję wszystkim za pomoc i podpowiedzi. Uzyskałem efekt, który chciałem osiągnąć, po dodaniu kolumny pomocniczej z funkcją "Jeżeli.Błąd(Wyszukaj.Pionowo....." i po zastosowaniu poniższego kodu w moim pliku z przykładem. [syntax=vbscript]Sub Dodaniewartoscizprzeciwnejlisty() lLstRw = Cells(Rows.Count, 6).End(xlUp).Row lLstRw2 = Cells(Rows.Count, 1).End(xlUp).Row...
Tak, różne "kody" mogą mieć tę samą klasę, przy czym żaden kod się nie powtarza tzn. klasy A1 i B2 nie będą mieć tego samego "kodu". Wstępnie sprawdziłem i wydaje mi się że taka pętla powinna działać tak jak chciałem. Problem owszem mieć będę na pewno niestety żaden kurs excela nie pomoże jak się w temacie nie siedzi i nie rozwija, a wręcz się cofa...
No, trochę zakręcone ;) 1. Dla pojedynczej komórki nie stosuj pętli For . Wystarczy Range () 2. Każda pętla (jeśli już) ma swój początek i koniec. Zjadłaś Next 3. Do porównania potrzebny jest wynik działania: If liczba Mod liczba = 0 Then Dlaczego przy Worksheet_Calculate ? Prościej byłoby przy Worksheet_Change gdzie warunkiem będzie Target.Address(0,0)="A1"...
Witam, Potrzebuję pomocy osób obeznanych z Excelem. Mam problem: tak jak w załączniku mam plik w którym pierwszy arkusz to lista osobowa z wartościami do niej przypisanymi. Drugi arkusz to zestawienie ogólne (nieistotne dla mojego problemu) a kolejne to arkusze osobowe których nazwy to imiona i nazwiska osób. Wszystkie te arkusze są identyczne tylko...
Teraz możemy to przeanalizować: Makro "Save" wywołuje procedurę "kopiuj_wartości" z trzema parametrami: co kopiować, Nr wiersza docelowego określonego w pętli Do (ostatni niepusty w kol "C" arkusza "REPORT") i Nr kolumny docelowej. Jeżeli chcesz wykorzystać je w tej formie, to docelowy plik (NN.xls) musi zawierać arkusz o tej nazwie (REPORT). Linię...
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...
Witam:) Nie wiem czy to dobre miejsce na ten temat ale jakoś nie mogę połapać się na tym forum a tym bardziej założyć nowy temat Bardzo proszę o pomoc, mam zadanie tego typu chciałbym aby makro wyszukiwało mi zakres aktywnych komórek np (A1:A2) z przykładowymi wartości np 1,2,3,4,5...20 i chciałbym aby pętla kopiowała mi te wartości określoną ilość...
Brakuje chyba jeszcze jednej pętli zmieniającej kod sklepu. Hmm, raczej: na pewno ;) Spróbuj Dziękuję, to dokładnie to, czego szukałem. Pomyślałem więc, by rozszerzyć to dalej o nową funkcjonalność. W załączniku plik, który nadal meczę. Nie powiem - z ciekawością;] Po kolei: Arkusz "paczki" to nasz generator listy paczek. Uzyskaną listę kopiujemy do...
No nie działa. Czemu? Bo ta pętla robi... no właśnie, trudno się połapać :) Może spróbuj w ten sposób (zakładam, że tekst jest w wierszach w kolumnie A) Edit 20:15 trochę uzupełniłem, żeby wszystko jasne było. Sub Makro1() a = ActiveCell.Row N = InputBox("wiersz koncowy") If N < a Then MsgBox "za mała wartość...":...
Można by spróbować z pętlą i uzależnić wskazania na daną komórkę od numeru pętli - jak znajdę chwilę to pokombinuje. Już znalazłem ale z pętlą w tym przypadku się nie da bo się pętla zapętla. Private Sub Worksheet_Change(ByVal Target As Range) For x = 1 To 200 If Range("c" & x + 10).Value <> "" And Range("b"...
Teraz funkcja działa jak powinna :) Człowiek uczy się cały czas :) Dzięki za wyjaśnienia. Jednak sprawdziłem na 40 tys. danych (40 tys. formuł wpisanych jedna pod drugą z kolejnym numerem znajdowanego wyniku) i ... to rozwiązanie nie zadowoli autora bo... przelicza jeszcze dłużej niż w mojej pierwszej wersji bez makra. (od 15 min mam dla excela 97%...
Witam, tak jak napisałem w temacie piszę makro w celu umożliwienia sobie kopiowania warunkowo danych na przecięciu konkretnej kolumny z konkretnym wierszem, warunkiem jest to by na przecięciu wiersza i kolumny znajdowała się jakakolwiek wartość. Muszę tym samym sprawdzić wszystkie wiersze po kolei, w tym celu napisałem kod: wszystkie wartości z danych...
Poniżej "szybki" przykład z niewielkimi makrami dotyczący pobierania danych z pliku o zmiennej nazwie. Dodałem tez drugie makro do zapisu danych bez formuł (po zapisie wynikowy arkusz się zamyka (ten niewielki widok przełączania miedzy plikami można wyeliminować). Przed wyborem nazwy pliku sprawdź ścieżkę dostępu wpisaną w arkuszu2. Bo bedziesz musiał...
Witam. Szukałem w sieci swojego rozwiązania ale nie potrafię tego przekuć w program lecz mogę podać algorytm co może trochę wyglądać śmiesznie ale tak najszybciej potrafię coś zobrazować ;) Excela dopiero co poznaję. Formuły jako tako opanowałem ale w pewnych momentach podczas przeliczania excel zamraża mi się na dłuższy czas. Program zrobiłem też na...
Cześć Chciałbym stworzyć makro, które wysyłało by emaile z listy z excel’a i dołączało spersonalizowane załącznik. W Arkuszu „lista” są komórki z spersonalizowanym numerem odbiorcy od „b6” do „b5006” np. D001425 a w komórkach od „c6” do „c5006” adresy email. Chciałbym aby pętla do każdego...
[syntax=vb]For i = 3 To 31 Select Case i Case 3 To 7, 12 To 27, 30, 31 '[dzialanie] End Select Next [/syntax]
Oj, to zaczyna się rozrastać, a czas ucieka... Może więc zrobić to inaczej. Niech więc będzie: "żeby chociaż działało bez wielkich przeróbek", czyli zrobić to co najważniejsze. jak zapisać, żeby makro rozpoznało po znalezionej nazwie sprzedawcy, do której zakładki przenieść wiersz Z tego co zrozumiałem wiemy KTO zajmie się klientem (If Arkusz1.Cells(i,...
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.
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...
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...
dzięki wielkie ! fajny kod, będę więc go też stosował.. ja przynajmniej moglem sie troche nauczyc przy pisaniu tego swojego prostego makra
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 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.
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...
Zacznij od dodania na początku procedury Application.ScreenUpdating = False. Skróciłbym też kod: [syntax=vbscript]y = 1 For i = 1 To 7 For x = 1 To 18 Sheets("KOR").Cells(1, lastcolumn + y + (i - 1) * 18) = "nazwa" & y & "_" & i y = y + 1 Next Sheets("RAT").Activate Sheets("RAT").Range(Cells(1 + i, 1), Cells(1 + i, ile_kolumn)).Copy Sheets("KOR").Range("A1").End(xlToRight)...
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.
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ętla, podstawianie (replace), porównywanie długości ciągów (len), rozbijanie ciągów (split), podstawianie, porównywanie, rozbijanie, itd. W zależności, czy warunek spełniony wstawianie wiersza, dodanie wartości, mnożenie *10, lub przepisanie. Mnóstwo kombinacji, ale do zrobienia.
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?
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...
Poszukaj informacji na temat sortowania bąbelkowego. Tak się składa, że w VB litery i łańcuchy też można porównywać. "b">"a", "Alicja">"Ala" itd Musiałbyś kopiować dane ze wszystkich kolumn wiersza do tymczasowej tablicy, co pokazałeś że potrafisz już robić. Sumowanie najlepiej zrobić funkcją SUMA.JEŻELI. W VB Aplication.WorksheetFunction.SumIf(argum...
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
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.
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.
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.
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...
Post pod postem, ale jakoś chcę zwrócić uwagę autora :) Tak z niedzielnych nudów zacząłem kombinować z tymi pętlami. A jak już jest (prawie) gotowe, to wrzucam. Może się przyda... Warunkiem jest umieszczenie pracowników w odpowiednich wierszach zgodnych z Nr ewidencyjnym i Lp. tzn jeśli Pani Monika ma NrEw. 2 i jest w 4 wierszu (Lp 3), to tak musi być...
Pewnie, że lepiej.:) Lecz wadą tego rozwiązania jest to, że po 'przeleceniu' makra nie będzie działać obliczanie D = A + B.
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
Zasugerowałem się przyciskiem "kolor wypełnienia" w Excel2003. Jest tam tylko 40 kolorów. Sądziłem że sa po kolei ale jak przed chwila sprawdziłem - myliłem się. W zestawie 40 nie ma np ciemnego żółtego co będzie wpływać na ewentualne obliczenia. Więc we wszystkich makrach powyżej należy poprawić 40 na 56. (W przypadku pierwszego makra wydłuży to jeszcze...
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.
Dzięki za podpowiedź Mam pytanie jak przypisać wartość LinaMax dla (komórka.Value =) Tak żeby można było skończyć pętle
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...
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]
Co do zasad pisania kodu Jak już deklarujesz zmienne to powinieneś deklarować wszystkie. Zapomniałeś o zmiennej "mnoznik" i chyba błąd w nazwie zmiennej lastcell x Jeżeli potrzebujesz liczby całkowitej skorzystaj z operatora "\" a nie "/" lub z Fix(liczba) Czyli mnoznik = lastcell \ 10 + 1 lub mnoznik=Fix(lastcell / 10 + 1) Co do pętli niby założyłeś...
1. Ustawiasz w arkuszu układ danych, tak aby jak najlepiej pasował ci do wyliczeń 2. Określasz i deklarujesz typy zmiennych - jeśli będziesz je wykorzystywać 3. Zliczasz ilość komórek z danymi (liczby) 4. Dla średniej arytmetycznej wykonujesz dodawanie liczb, a następnie podział sumy przez ilość komórek z danymi (liczby) 5. Dla średniej kwadratowej...
Czy w takim razie mogę prosić o pomoc na przykładzie tego pliku z zalacznika? Jeśli wszystkie pliki CSV mają taką strukturę jak w Twoim załączniku ? - to proponuję wykorzystanie tutaj pętli realizującej odpowiednio skonfigurowany import danych tekstowych ! Po uruchomieniu makra z pliku KonwertCSV-XLSX.XLSM - konieczne będzie wskazanie folderu roboczego...
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....
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?
Jeśli makro, to prosta pętla 'Do-Loop' z instrukcją warunkową. Ale, z kolumną pomocniczą, można i bez makra (załącznik)
Najprościej. Tę linię wkb.Sheets(ark).Cells(ostWrs... 1) = ActiveWorkbook.Sheets("Ogólne&q... przesuń do bloku pętli For j [syntax=vb] For j = 1 To 20 wkb.Sheets(ark).Cells(ostWrs, 1) = ActiveWorkbook.Sheets("Ogólne").Range("A... 'TUTAJ wkb.Sheets(ark).Cells(ostWrs, j + 1) = .Cells(k, j + 2)...
Może przez szukanie w pętli z wykorzystaniem obsługi błędu. Np[syntax=vb]On Error Resume Next Do While Err = 0 kol = Rows(1).Find(what:="MSISDN", lookat:=xlWhole).Column kol = Rows(1).Find(what:="Kod Sprzedawcy", lookat:=xlWhole).Column Columns(kol).Delete Loop[/syntax]
Najprościej napisać makro w VB i skorzystać z pętli
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...
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...
Skoro wyłączenie makr umożliwia otwarcie pliku, to problem musi tkwić tam. Zrobiłeś tak jak pisałem (zapisałeś plik kiedy był otwarty na wysokich zabezpieczeniach makr?). Sprawdź czy nie masz jakiś pętli uruchamianych przy otwarciu które się "zapętlają", może masz tam jakieś linki do lokalizacji sieciowych które są niedostępne, bardzo dużo "kosztownych"...
#N/D! w Twoim arkuszu prawdopodobnie nie jest stałą tekstową, lecz wynikiem formuły. Metoda Replace, którą chciałeś zastosować odnosi się do stałych i do fragmentów formuł (ale tak jak zostały zapisane w komórce, a nie do ich wyników). W tym przypadku sugerowałbym użycie np. kodu: [syntax=vbscript]Dim r As Range For Each r In Range("G2:G10") If IsError(r)...
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'.
Jeśli nie miałeś do czynienia z formularzami, to najprościej zamknąć InputBox w pętli w Thisworkbook, przy zdarzeniu Open. Coś jak[syntax=vb]With Sheets("NazwaArkusza") For i = to 10 .Cells(i, 2)= Inputbox ("Wpisz wartość dla komórki B" & i) Next .activate End With[/syntax]Dograj sobie rejestratorem polecenie drukowania, lub po aktywowaniu arkusza naciśnij...
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ć?
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....
Nagraj to makro i dodaj pętle for o odpowiedniej ilości. Jeżeli zdążę :) to za chwile podrzucę ci kod
Zwykle na czas działania pętli wystarcza wyłączenie zdarzeń i odświeżania.[syntax=vb]Sub Kasuj() Application.EnableEvents = False Application.ScreenUpdating = False For i = Cells(65536, "A").End(xlUp).Row To 3 Step -1 If Cells(i, "B").Value = "" Then Rows(i).delete shift:=x1Up End If Next Application.EnableEvents = True Application.ScreenUpdating =...
Jeśli makro, to prosta pętla porównująca każdą parkę z każdą. Można też bez makra. Oba (E2k0) rozwiązania w załączniku.
excel makro pętla makro pętla excel pętla
backup partycji linux sectors pending przeróbka mocowania alternatora
Lokalizacja sprężyny w wieży Panasonic SA-AK410 Sprężyna mechanizmu kieszeni kasety Panasonic SA-AK410 - przyczyny spadnięcia