Spróbuj [syntax=vb]For Each kom2 In Sheets("Arkusz2").Range("A1:A500") If kom2 <> Empty Then For Each kom1 In Sheets("Arkusz1").Range("A1:A500") If kom1.Value = kom2.Value Then kom2.Offset(0, 13) = kom1.Offset(0, 13) kom2.Offset(0, 14) = kom1.Offset(0, 14) Exit For End If Next End If Next[/syntax]
Teraz wszystko jasne. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Application.ScreenUpdating = False Plik = "C:\PlikiSpraw\" & Range("A" & Target.Row) & ".xlsx" If Dir(Plik) <> "" Then Rows(Target.Row).Copy Set s = Workbooks.Open(Plik) nw = s.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row...
Dlaczego nie załączyłeś pliku? Przecież na obrazku niczego nie można sprawdzić. Podejrzewam, że linie obramowania, które Ci się nie kopiują są przypisane do sąsiednich komórek. Ramka rozdziela komórki, ale nie musi być przypisana do obu, może być przypisana tylko do jednej z nich. Wtedy przy kopiowaniu trzeba zadbać o to by obramowania były przypisane...
[syntax=vbscript]Sub ImportujPlikizWieluLokalizacji() Dim ZakresWejsciowy As String Application.ScreenUpdating = False Set p = Sheets("Parametry") Set i = Sheets("Import") For x = 2 To p.Cells(Rows.Count, "A").End(xlUp).Row If p.Cells(x, 5) = "x" Then Katalog = p.Cells(x, "A") If Right(Katalog, 1) <> "\" Then Katalog = Katalog & "\" On Error...
Na początku pętli [syntax=vbscript]Do While Len(ws_src.Range("E" & i)) > 0[/syntax]jest sprawdzany warunek czy długość zapisu w kolumnie E jest > 0. Eliminuje to przypadki pustych komórek i pustych tekstów. Gdybyś jeszcze chciał sprawdzać wartości zerowe to trzeba dodać nowy warunek pod spodem: [syntax=vbscript]If ws_src.Range("E" & i) = 0 Then Exit...
A mógłbyś po swojemu, wspomniałeś, że nie znasz VB, napisać, jak według Ciebie taka linijka powinna wyglądać? Podpowiem, żę blisko tego: [syntax=vb] Cells(owa2, 1).Select Selection.PasteSpecial Paste:=xlPasteValues Cells(.... = .... [/syntax] Cells(1,1), to komórka A1. Cells(4,2), to komórka 4B. Proste, prawda?:)
Dużo do wyjaśniania, więc przeanalizuj sobie taki przykład makra z pętlą[syntax=vb]Sub Ukash() Dim myPath As String, fName As String, newWkb As Workbook Dim wrs As Long, wrsDst As Long myPath = "U:\Lukasz\Raporty\" 'składasz string z zamianą daty na tekst fName = "Raport " & Str(Date) & " adamas" 'lub dowolna data pobrana z komórki Set newWkb...
Jaky format w A1? Sprobuj Sheets(Range("A1").Text).Select
W zakresie wierszy od 3 - 10 we wszystkich komórkach mam różne wyniki, które aktualizują się z zewnętrznej bazy automatycznie i są zmienne. Potrzebuje z tych odczytów zrobić historię w postaci listy i chciałbym aby co 5 min. wykonywany był zrzut tego zakresu wierszy w formie listy w 2 arkuszu w tym samym pliku Proszę o wsparcie
Możliwe, że Autor ma w Arkusz2 formularz, który ma być wypełniany z wybranego wiersza Arkusza1 i następnie drukowany. No ale to tylko Autor wie, a jakoś się nie zgłasza.
3. nowy skoroszyt zamknąć Na sam koniec nowo utworzony skoroszyt zamyka bez zapisywania go Jakie jest więc cel tworzenia nowego skoroszytu?
Po pierwsze: z którym fragmentem nagranego kodu masz problem? Po drugie: Nagraj makro kopiowania całego arkusza do nowego pliku ze zmianą jego (pliku) nazwy. Masz 100% gwarancji zachowania formatowania. Jeśli w arkuszu jest nadmiar danych można dopisać usuwanie. Jeśli jesteś początkujący, to nagrywarka jest podstawą. Przykład: To jest nagrane makro...
Wydaje mi się, że rozwiązanie z WYSZUKAJ.PIONOWO będzie działać o wiele szybciej niż makro. Czy masz jakieś konkretne powody do zastosowania VBA?
Jak Ci wierszy przybędzie do miliona, to zaczniesz myśleć, dlaczego to tak długo liczy...;) Ale jeżeli już chcesz tak, to nie sprawdzaj w każdym przejściu pętli, czy komórka jest różna od pustej, tylko wylicz wartość końcową pętli na przykład tak: [syntax=vb] For x = 2 To Cells(Rows.Count, "A").End(xlUp).Row Cells(x, 1) = "=IF(RC[1]<>"""",R[-1]C+1,"""")".....
Polecenie Name powinno działać poprawnie. Nie wiem jaką ma Pan strukturę plików. Możliwe przyczyny błędu: 1. Plik docelowy już istnieje 2. Folder docelowy nie istnieje 3. Plik źródłowy jest otwarty 4. Nazwa pliku zawiera znaki wieloznaczne "*" lub "?"
Musisz wpisać większą treść wiadomości przed wysłaniem. W przypadku wysyłania plików opisz szczegółowo plik w treści wiadomości. Niech Gulson coś w końcu z tym zrobi.
Poprawiłem błąd.
1. Wyrzuć "górne" r=r+1, ustaw (u góry) r=2 jeśli... sam już nie wiem. Wypróbuj. 2. Nie ta metoda. Musiałbyś copy-paste i wybierając (select) wiersz (zakres) docelowy. P.S. Zmykam. Dobranoc ;)
Może ktoś inny Ci pomoże...
Witam Mam macro do kopiowania danych z jednego arkusza do drugiego i kopiuje dane ale tylko 3 razy. Przy kolejnym zatrzymuje się na poziomie (pogrubiona linia): Sub DoBazy() For i = 1 To 200 If Worksheets("Baza").Cells(1, i) = Cells(2, 3) Then kol = i Exit For End If Next i For i = 1 To 260 Worksheets("Baza").Cells(i, kol) = Worksheets("DoBazy").Cells(i,...
Cześć, mam problem. Potrzebuję wiedzieć jak zrobić makro, które polega na ściąganiu danych z innego pliku. Ma wejść w inny plik, znaleźć konkretne słowo, przejść 5 komórek w prawo, skopiować wartość i wkleić w konkretne miejsce, potem przejść z tej piątej komórki na siódmą komórkę od tej znalezionej i skopiować ja w konkretne miejsce. Makro ma działać...
Potrzebuje pomocy w napisaniu makra w excelu, kopiowanie danych z jednego pliku excela do drugiego excela w petli gdzie jest wiele plików. Wyjaśniam o co mi chodzi. Mam plik excel nazwany np dane1.xls ( dane2.xls, dane3.xls itd tych plików mam ponad 200 w folderze) z kilkunastoma arkuszami oraz plik wzor.xls. ( Potrzebuje wyciągnąć z pliku dane1.xls...
Witam. Mam pytanie, czy dysponuje ktoś makrem lub byłby w stanie napisać * lub doradzić jak napisać makro , które pozwoliłoby kopiować zakres danych do skoroszytu głównego. Oczywiście wszystkie inne skoroszyty są "kopią" tego głównego. Interesuje mnie taka sytuacja. Ktoś pracuje na pliku 1.xlsx w skład którego wchodzą powiedzmy 2 arkusze ( arkusz1 oraz...
Witam, jestem całkiem zielony w arkuszach kalkulacyjny jeśli chodzi o makra i potrzebuję pomocy. Utworzyłem skoroszyt w którym są trzy arkusze. Pierwszy to tabela przestawna, drugi to arkusz zbiorczy a trzeci to raport o nazwie '01'. Potrzebuję napisać następujące makro po włączeniu którego wartości z komórek od AS5 do BU5 z raportu będą kopiowane do...
Witam, Mam problem z makrem, które znalazłem na forum i które staram się przerobić pod moje potrzeby. Docelowo, makro ma sprawdzać czy w komórce w kolumnie F arkusza 1 jest wyraz "tak" i jeżeli to się potwierdzi to kopiować w pierwsze wolne miejsce w kolumnie D akrusza 2 zawartość komórki B arkusza 1. I jednocześnie usuwać ten wiersz z arkusza 1. Poniżej...
Dzień doberek, próbuję własnymi siłami stworzyć makro, które skopiuje podaną wartość określoną w sąsiedniej komórce ilość razy. Powiedzmy, że A1=15, A2=16, A3=17 to kody sklepów. B1=3, B2=3, B3=2 to ilości przesyłek do konkretnego sklepu. Makro powinno, dajmy na to w komórce G1 rozpocząć listę: 15, 15, 15, 16, 16, 16, 17, 17 w kolejnych wierszach. Do...
Gdzie przyklad? Gdzie ma byc makro - w docelowym pliku lub w tym " innym pliku" " w roznych miejscach" - oraz roznych wierszach?
Niestety Run-time error '1004': Metoda PasetSpecjal z klasy Range nie powiodła się.
Cześć Od kilku dni rozkminiam makro, które pomoże mi zautomatyzować pracę. Co tydzień pobieram dane z różnych arkuszy kopiując do jednego arkusza. Żmudne i nudzące zajęcie. Nie jestem programistą, ale z pewnością da się to jakoś ogarnąć makrem. Dla zobrazowania pokazuję fragment pliku. To czego potrzebuję to: - w jednym arkuszu (w przykładzie jest to...
Dzień dobry. Poszukuję rozwiązania za pomocą Vba . Dane są zawarte w 6 kolumnach ok 2000 linii posiadają duplikaty i nie tylko-są też pojedyncze linie w liście. Makro powinno wycinać i wklejać do Arkusza2 w oparciu o duplikaty lub pojedyncze elementy Arkusza1 z kol"A" w zakresie linii do kolumny "E" . ( w całej liście w większości to duplikat choć występują...
Witam. Chciałem zrobić plik exela który pomoże mi w rozliczaniu projektów. O ile z formułami w komórkach dałem sobie rade to z makrem już nie bardzo. Tak naprawdę pierwszy raz z niego będę korzystał. Prosiłbym o pomoc w stworzeniu takiego makra które w zależności od danych wejściowych skopuje odpowiednie komórki do drugiego arkusza w pierwsze wolne...
Witam, potrzebuję pomocy z makrem. Czy ktos zmodyfikuje to makro tak zebym: 1) Mógł wpisać "z palca" numer wiersza z którego kopiuje (wszystkie kopiowana dotyczą zawsze jednego, wybranego wiersza). Ew. co tez jest dobra dla mnie opcja chcialbym moc wskazac myszka wiersz. 2) Mógł używać makra do aktualnie otwartego pliku (tego, do którego chcę skopiować)?...
Witam. Proszę o pomoc , podkreślam iż jestem totalnym laikiem i to mój pierwszy post więc proszę o wyrozumiałość. Chodzi mi dokładnie o makro w którym przy pomocy "przycisku" makro przekopiuje mi dane z pliku A do B, w każdym pliku jest ok. 10 skoroszytów z określonymi numerami tzn. jeśli w A jest numer 296 to taki sam analogicznie znajduje sie w pliku...
Witam, mam taki problem. Mam kilka arkuszy, których ilość może się zmieniać natomiast struktura będzie zachowana. Każdy arkusz zawiera dane osoby, projekt i ilość godzin przepracowanych na danym projekcie. Liczba projektów jest zmienna w miesiącu maksymalna wartość 30. Chciałbym żeby do arkusza wynikowego skopiować nazwisko, nazwę projektu, ilość godzin...
Witam Potrzebowałbym bym pomocy do tego co chciałbym zrobić, niestety nie posiadam jeszcze wystarczających umiejętności by zrobić to samemu. Zapewne potrzebuję funkcję połączoną z makrem, które zapętli ją, tak by wszystkie dane w całej kolumnie były przeszukane i wypełnione. Niestety zwykły VLOOKUP tutaj mi nie pomoże, a nie jestem w stanie sam dojść,...
Strasznie to wszystko zakręcone, a na dodatek niepotrzebnie komplikujesz sobie życie... Tak naprawdę to by to wszystko można zrobić na funkcjach, bez użycia VBA. No, ale... Zacznijmy od tego że poprzednie makro się wywalało, bo w złym miejscu umieściłeś sprawdzanie warunku: jeżeli masz zdarzenie Change wywoływane zmianą w arkuszu, to jeżeli w tym zdarzeniu...
"Czy można udoskonalić makro" - no jasne że można. Zamiast : Windows("plik_01.xls").Activate Piszesz: Windows(s+".xls").Activate Gdzie s to zmienna typu string do której podstawiasz dowolny tekst z dowolnego źródła (tabeli, arkusza, bazy danych, pliku tekstowego ... co tylko wyobraźnia podpowie).
Dziękuje za odpowiedź. Przyznam się, że niewiele z tego rozumiem ;) a przy próbie uruchomienia pojawia się komunikat Run-time error '9' Subscript out of range. Co może być przyczyną?
Następnie, jak powiedział Marek, oraz tworzenie obiektu Excel [syntax=vb] Dim myXL as Excel.Application Dim wb As Excel.Workbook '......... '........ Close #1 set myXL = CreateObject("Excel.Application") myXL.visible = true With myXL set wb = .Workbooks.Open( "C:\tmp\mail.csv") 'Rób co chcesz 'Wszystko, co odnosi się do Excel, zaczyna z kropkami wb.Close...
możliwość stworzenia makra które będzie kopiować wypełnione wartościami kolumny w dół zaznaczając komórkę A2, jednak przy kopiowaniu pomijało by wiersze dla których nie ma podanych wartości w kolumnach D i F Jakoś tak (?) ... a może inaczej ... Założenia: 1) Arkusz z danymi = 'Arkusz1' 2) Arkusz docelowy kopiowania = 'Arkusz2' Uwagi: 1) Wielokrotne...
Zewnętrzny program eksportuje dane do Excela w postaci tabelki o kilku kolumnach W jaki sposób: plik csv, txt, xls, inny ? Ręcznie usuwam niepotrzebne mi kolumny Czy kolumny mają nagłówki, czy nie ? Jeśli nie, to co jest wyróżnikiem, że akurat właśnie "tę", a nie "inną" kolumnę należy pozostawić ? Załączam poglądowy scr To znaczy ... co załączasz,...
Przykładowe makro: [syntax=vbscript]Sub numery() Dim coll As New Collection Dim ow As Long, i As Long ow = Range("A" & Rows.Count).End(xlUp).Row On Error Resume Next For i = 2 To ow If Range("A" & i).Value <> vbNullString Then coll.Add coll.Count + 1, Range("A" & i).Value If Err = 0 Then Range("B" & i).Value = coll.Count Else Err.Clear...
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...
Witam Proszę o pomoc. Potrzebuję proste makro, które skopiuje określone komórki z wybranego przeze mnie wiersza do innego arkusza. Chciałbym żeby to wyglądało tak: okno dialogowe pyta: "Podaj numer wiersza do skopiowania", podaje np wiersz nr 5 i wtedy komórka np A5 B5 D5 G5 z arkusza1 są kopiowane do komórek odpowiednio A1 A2 A3 A4 arkusza2. Nie znalazłem...
Jeśli chcesz to realizować makrem :?: - powodzenia :D Znacznie szybszy efekt uzyskasz poprzez zastosowanie w kolumnie H formuły: =WYSZUKAJ.POZIOMO(E3;Arkusz2!$D$2:$F$5;2... :ok:
Z arkusza1 robię raporty w osobnych arkuszach Efekt taki jak na zrzucie 1041538 automatycznego kopiowania wyfiltrowanych danych z arkusza1 do kilku arkuszy :idea: (z nazwami arkuszy wg filtrowanych danych :D ) można zrealizować przykładowo tak jak w załączonym pliku. 1041541 Makro można uruchomić skrótem klawiaturowym ctrl+r :!: , dla dowolnej (jeśli...
Tu zaczynają się cuda. To może podrzucę kanister z wodą? :) Poważnie: Umieść oba makra w module i precyzyjnie "wskaż" Excelowi, którego arkusza dotyczy kod. Przykład z kopiowaniem[syntax=vb]With Sheets("Arkusz3") .Activate .Range("F8:M8").Copy .Range("F86").PasteSpecial Paste:=xlPasteValues 'pozostałe mają ustawienia domyślne Application.CutCopyMode...
Ale że nie makro czy nie taka formuła?
W wolnej chwili wyklikałem na klawiaturze kilka linijek. Wydaje mi się, że wygodniej będzie Ci przystosować mój krótki kod. [syntax=vb]Sub Podziel() Dim a As String, a1 As Worksheet Set a1 = Sheets("Arkusz1") ow = Cells(Rows.Count, "D").End(xlUp).Row f = True Sheets("Arkusz1").Select For x = 5 To ow a = a1.Cells(x, 16) If f Then y = x f = False End...
Temat do zamknięcia. Poradziłem sobie sam. Chodziło mi dokładnie o takie coś: [syntax=vbscript]Sub Makro1() ' ' Makro1 Makro ' ' Klawisz skrótu: Ctrl+d ' ile = Int(InputBox("Ile ma się skopiować tabelek? ", "Wpisz liczbę", 3)) If ile < 1 Then Exit Sub l = 1 Range("C4:D17").Copy ActiveCell.Range("A1").Select ActiveSheet.Paste For i = 1 To ile ActiveCell.Offset(0,...
A dlaczego nie dać szansy Excelowi, tylko go wyręczać? [syntax=vbscript]Sub Zapis_do_CSV() ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\baza test2.csv", _ FileFormat:= xlCSV, CreateBackup:=False, Local:=True End Sub[/syntax] Nie zwróciłem uwagi, że to ma być bez pierwszego wiersza, ale ten zawsze można usunąć później. Najważniejsze, żeby Excel...
Testuj nie rozpoznaje nazwy pliku: Workbooks.Open Filename:=("C:\Users\Uzytkownik\Desktop\... & nazwa & ".xls")
Dla przykładu No właśnie dla przykładu, to przydałby się przykładowy plik. Dodano po 4 Nie pisz na PW proszę, skoro plik dotyczy tematu.
[syntax=vbscript]For y = 1 To ile - 1[/syntax]
: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...
Makro poniżej przesuwa nazwiska w prawo o wartość numeru grupy+1, a następnie usuwa puste komórki w obszarze danych. Nazwiska nie są posortowane. Jeżeli jest potrzeba. sortowania to na początku makra dopisać sortowanie.[syntax=vbscript]Sub Przepisz_Nazwiska() Dim Tab_Opis As Variant With ActiveSheet Tab_Opis = Array("Grupa 1", "Grupa 2", "Grupa 3",...
Jeśli dobrze rozumiem, to tak:
Do tego nie potrzeba makra, można to prosto zrobić korzystając z listy rozwijalnej i łączenia tekstu. Prosty przykład
OK. Teraz mam pilne zadanie, w godzinach wieczornych coś do rozwiązania. ... Tu to jest [syntax=vb]Sub copyNumKs() Dim bd As Range, bs As Range, r& With Sheets(1) Set bd = .Cells(1, 5).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, 1) End With With Sheets("wydruk") Set bs = .Cells(1, 2).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, 2) End With For r = 2...
otwierał nowego Excela nowe wystąpienie programu Excel, lub nowy skoroszyt? Myslim ze skoroszyt:[syntax=vb]Sub kopie20() Dim nw As Worksheet Dim my As Range Set my = Workbooks("Truck.xls").Sheets("Aero") s = 0: k = 1 For n = 1 To my.Cells(65536, "P").End(xlUp).Row s = s + my.Cells(n, "p") If s + my.Cells(n + 1, "p") > 20 Or my.Cells(n + 1, "p") = ""...
Zmienit 'For i = 0 To nrep - 1' na 'For i = 1 To nrep - 1'
Proszę o przykładowe makro kopiujące pierwszy wyfiltrowany wiersz z listy do nowego arkusza. W nowym arkuszu wklejane wiersze muszą dodawać się jeden pod drugim wraz z datą ich kopiowania.
[syntax=vbscript]Sub NowaKolumna() nk = Cells(60, Columns.Count).End(xlToLeft).Column + 1 Range("H60:H80").Copy Cells(60, nk) Application.CutCopyMode = False End Sub [/syntax]
Witam, Udało mi się stworzyć makro kopiujące wybrany plik do nowej lokalizacji - kod który dobrze działa z jednoczesnym zapisem pliku excel w formie pdf. Wszystko jest OK ale mam jeden problem. W katalogu "Próby" mam więcej raportów z różnymi datami ale dlatego chciałbym utworzyć makro które będzie kopiować wszystkie pliki excel zaczynające się od "Raport_"...
makro kopiujące makro kopiujące arkusz makro kopiujące wiersz
zgemma ustawienia tunera karta pamięci uszkodzona bezpiecznik automatyczny listwa
reset pieca buderus sprężynka gaźnika agregat
Charakterystyka pompy WITA Delta AQUA II 60-25: Efektywność i funkcje De’Longhi Magnifica S – blok zaparzania zablokowany, nie można wyjąć, procedura resetu