[syntax=vbscript]Sub DodajDoBazy() Warunek = 123 owv = Cells(Rows.Count, "V").End(xlUp).Row nwa = Cells(Rows.Count, "A").End(xlUp).Row + 1 For x = 1 To owv If Cells(x, 22) = Warunek Then Range(Cells(x, 22), Cells(x, 26)).Copy Range("A" & nwa) nwa = nwa + 1 End If Next End Sub [/syntax]
Na tą chwilę nie bardzo wiem, jak to poprawić. A przecież specjalnie Ci podpowiadałem :D możesz łatwo uchwycić obszar do aktualnego czyszczenia :arrow: jako obiekt Selection :D tzn. trzeba to zrobić raczej tak :spoko: [syntax=vbscript]Sub dodaj() Dim ile_w As Long Dim kom As Range Application.ScreenUpdating = False With ThisWorkbook.Sheets(ar_kusz)...
Chciałbym, aby w osobnym pliku pojawiła się lista wszystkich wierszy w których jedna z komórek tj. "pozostało do realizacji" jest większa od zera. Jeżeli te wszystkie pliki będą w jednym folderze :!: to takie zadanie (zestawienia danych lub ich aktualizacji :D ) może wykonać makro w załączonym pliku (uruchamiane skrótem ctrl+s ) z pliku zestaw.xlsm....
Szukam rozwiązania jak sobie z tym poradzić Na podstawie Twojego przykładowego pliku (tego drugiego :D z nagłówkami ) widzę, że we wszystkich wypadkach występowania błędu #N/D konieczne jest tylko zdublowanie pozycji z kontami "5". Jeśli to było by tylko tak - to można wykorzystać do korekty proste makro jak w załączonym pliku. Po uzupełnieniu pliku...
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 ;)
Bez zbędnych selectów [syntax=vb]Sheets("Arkusz1").Range("G20"... Destination:=Sheets("Arkusz2").Range("G2...
[syntax=vbscript]For y = 1 To ile - 1[/syntax]
[syntax=vbscript]Sub Kopiuj() Set a = Sheets("Arkusz1") owa = a.Cells(Rows.Count, "B").End(xlUp).Row Sheets("Arkusz3").Select ow = Cells(Rows.Count, "B").End(xlUp).Row y = 2 For x = 2 To ow s = Application.Match(Cells(x, 2), a.Range("B1:B" & owa), 0) If Not IsError(s) Then a.Rows(s).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub...
Dodano po 19 Excel / VBA / wstawianie i kopiowanie wierszy z rozdzieleniem wartości
Usuń duplikaty ani tabela przestawna tu się nie przyda bo dochodzi warunek że usuń gdy puste ale nie gdy puste w Re_3 Stworzyłem w sumie proste makro (ono tylko tak wygląda) Pierwsza część kodu przepisuje wszystkie linie mające to samo zlecenie. Później następuje sortowanie. Następnie warunek sprawdza czy (w moim przypadku coś1) się powtarza jeżeli...
Zobacz, czy o to chodziło. Makro do kopiowania: [syntax=vbscript]Sub Kopiuj() Dim b As Worksheet Dim ow As Long Set b = Sheets(ActiveSheet.Index - 1) ow = b.Cells(Rows.Count, "A").End(xlUp).Row - 1 Dim CopyRng As Range, PasteRng As Range b.Range("A4:B" & ow).Copy ActiveSheet.Range("A4").PasteSpecial Paste:=xlPasteValues b.Range("N4:O" & ow).Copy ActiveSheet.Range("N4").PasteSpecial...
wszystkie transakcje z tego miesiąca. If Month(kom)=Sheets("Raport").Cells(1, 3) Then
Tu masz kod tego makra. Procedurę SzukajUlicy() podepnij pod jakis przycisk. Myślę, że z resztą sobie poradzisz. [syntax=vb] Option Explicit Sub SzukajUlicy() Dim ws As Worksheet Dim lWiersz As Long Const lKolumnaUlicy As Integer = 5 'E lWiersz = 4 'początkowy wiersz zawierający dane Dim sNazwaUlicy As String Dim Znalazlem As Boolean sNazwaUlicy = InputBox("Podaj...
Mam nadzieję, że się zrozumieliśmy.
[syntax=vbscript]Sub AF() Sheets("A").Range("A4:R200").Clear For x = 2 To Sheets.Count For y = 4 To 300 If Sheets(x).Cells(y, "O") >= -30 Then nw = Sheets("A").Cells(Rows.Count, "O").End(xlUp).Row + 1 Sheets(x).Rows(y).Copy Sheets("A").Range("A" & nw) End If Next Next End Sub [/syntax]
[syntax=vbscript]Sub Handlowcy() Sheets("Dane").Select ow = Cells(Rows.Count, "E").End(xlUp).Row For x = 2 To ow For y = 2 To Sheets.Count If Cells(x, "F") = Sheets(y).Name Then nw = Sheets(y).Cells(Rows.Count, "A").End(xlUp).Row + 1 Cells(x, "E").Copy Sheets(y).Cells(nw, "A") Cells(x, "G").Copy Sheets(y).Cells(nw, "B") End If Next Next End Sub [/syntax]...
[syntax=vb] Sub SzukajCiagu() Dim x As Long, y As Long, z As Long, SzukaneSlowo As String x = 1 z = 1 Sheets("PrzeszukiwanyArkusz").Select While Cells(x, 1) <> "" y = 1 While Sheets("ListaSlow").Cells(y, 1) <> "" SzukaneSlowo = Sheets("ListaSlow").Cells(y, 1) If InStr(1, Cells(x, 5), SzukaneSlowo) > 0 Or InStr(1, Cells(x, 6), SzukaneSlowo)...
Zerknij do załącznika. Kod zoptymalizowałem przy okazji... Zrobiłem przykładowe kopiowanie z trzech kolumn, aby było łatwo połapać się przy modyfikacji.
[syntax=vbscript]Sub Etykiety() Set a = Sheets("Arkusz1") Set b = Sheets("Arkusz2") For x = 2 To a.Cells(Rows.Count, "A").End(xlUp).Row b.Cells(2, 3) = a.Cells(x, 1) b.Cells(4, 3) = a.Cells(x, 2) b.Cells(6, 3) = a.Cells(x, 3) b.Range("A1:C8").PrintOut Next End Sub[/syntax]
Tu jest szukanie ostatniego, niepustego ActiveSheet.Paste , to wcześniej powinieneś wybrać (Select) lewą, górną komórkę obszaru, lub cały, o tym samym rozmiarze zakres. Nie mam Twojego pliku docelowego, więc pisze wszystko "na czuja". Musisz analizować otrzymany "materiał do przemyślenia" i sygnalizować co, w której linijce nie działa prawidłowo.
Zmienit 'For i = 0 To nrep - 1' na 'For i = 1 To nrep - 1'
chcę to zmienić na przycisk To proponuję wykorzystanie kodu typu :spoko: : [syntax=vbscript]Public Sub Powiel() i = 2 Do Until IsEmpty(Cells(i, 7)) If Cells(i, 7).Value > 1 Then a = i + 1 b = a + Cells(i, 7).Value - 2 Range("A" & i & ":K" & i).Select Selection.Copy Range("A" & a & ":A" & b).Select Selection.Insert Shift:=xlDown Range("G" & i & ":G"...
[syntax=vbscript]Sub Zawiera() Sheets("Arkusz1").Select a = InputBox("Podaj tekst do szukania: ", "Wyszukaj") ow = Cells(Rows.Count, "A").End(xlUp).Row y = 1 For x = 1 To ow If InStr(1, Cells(x, 2), a) > 0 Then Range(Cells(x, 1), Cells(x, 2)).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub [/syntax] Poniżej bez rozróżniania wielkości...
Dodano po 3 [syntax=vb]Sub Copy() For Each cell In Sheets(2).Range("A:A") If cell.Text = "" Then Exit For Rows(cell.Row & ":" & cell.Row).Copy Sheets(cell.Value).Cells(Rows.Count, 1).End(xlUp).Offset(1) Next End Sub [/syntax] tak dobrze
W Twoim pliku XLS dodałem poniższy kod i przycisk w arkuszu "form2", który uruchamia ten kod. Pozdrawiam - McVik
O rety, ale mam zaskok :) W załączniku rozwiązanie z kolumną pomocniczą.
Samo się wpisze...
Dwie wątpliwości: 1) Czy te formuły będą takie jak w przykładzie tzn. będą się odwoływać tylko do danych z tego samego wiersza? 2) Czy to ma być kopia z zaznaczenia (zaznaczam x wierszy i to kopiuję, tylko dokąd? jak określić miejsce docelowe?), czy kopia wszystkiego co jest (do ostatniego wypełnionego wiersza w określonej kolumnie), wtedy miejsce docelowe...
Magiczna linijka to: [syntax=vbscript]Range("A1:AH" & Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(... Sheets("Price check").Range("A1")[/syntax]
Spróbuj [syntax=vb]Private Sub CommandButton4_Click() On Error GoTo myErr Application.ScreenUpdating = False nazwa_arkusza1 = Range("L1") wiersz_naglowka = 11 ost_wiersz = Range("A65536").End(xlUp).Row ost_kolumna = Cells(wiersz_naglowka + 1, 255).End(xlToLeft).Column Set ws = Worksheets(Worksheets.Count) pozycja = ws.Range("A65536").End(xlUp).Row +...
Już w poprzednim wątku zwracałem uwagę, że dane mają być reprezentatywne. Tam nie było nic o tym, że numery bloków mogą się powtarzać i wobec tego w kodzie była wykorzystana zmiana numeru bloku w stosunku do poprzedniej. Teraz przyjąłem, że jeśli blok jest złożony z kilku elementów, to numeracja po / zaczyna się od 1. Trzeba te bloki jakoś rozróżniać....
zostały skopiowane poniżej tabeli tyle razy ile jest w komórce E10 (Qty - quantity) czyli najlepiej n-1 razy . każda naklejka to jeden wiersz . Jeżeli w danym wierszu pole ilośc (qty) jest większa np 50 to wydrukuje się jedna naklejka . Nie potrafię zrozumieć logiki Twojego arkusza i opisu :cry: Na ogół drukarki drukują z Excela to co jest ustawione...
Niestety na służbowym kompie nie zobaczę Twojego pliku, więc tylko kilka wskazówek. 1. Proponuję przygotować szablon do kopiowania w oddzielnym arkuszu, nieużywanym przez kontrolerów. Można tam zapisać w razie potrzeby coś jeszcze, a docelowo można go będzie ukryć. 2. Żeby skopiować obszar (tabelkę), musisz wiedzieć gdzie to trzeba skopiować. Możesz...
Obojętnie który wiersz, byle był zaznaczony od początku (czyli od kolumny A).
Nigdy nie programowałem w VBA, ale znalazłem takie coś, może okaże się pomocne. Jeżeli nie to poszukaj w sieci pod hasłami "vba copy rows" i podobnymi, pojawia się sporo wyników. The example codes will copy to a database sheet with the name Sheet2. Every time you run one of the subs the cells will be placed below the last row with data or after the...
Witam [syntax=vbnet]Sub SumaC() Dim ws As Worksheet For Each ws In Worksheets If ws.Name <> "RYDER" Or ws.Name <> "PORTAL" Then ws.Cells(2, 1).Value = "suma" ws.Range("B2") = "=SUM(I4:I50)" End If Next ws End Sub [/syntax]
Może tak: [syntax=vbscript]Sub Kopiuj() Dim i&, Ow& Application.ScreenUpdating = False Ow = Cells(Rows.Count, "A").End(xlUp).Row For i = 8 To Ow Step 5 Range("A" & i).Copy Range("A" & i + 3, "A" & i + 4) Next End Sub [/syntax] andie
No tak... W #1 jest Cells(2, 3), czyli C2. Ja użyłem C3, a w ostateczności Ty użyłeś C1.;)
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)...
Może to Ci pomoże. Makro, dla podanej "szukana" przeszukuje każdy wiersz. Jeżeli znajdzie szukaną to kopiuje cały wiersz i przenosi do innego arkusza Dodano po 3 jeszcze raz bez zbędnych żeczy :) [syntax=vb]Sub Szukaj() Dim wiersz As Integer, kolumna As Byte, szukana As String, NumerWiersza As Integer Dim lastRow As Integer With ActiveSheet lastRow...
Jest w Excelu dodatek darmowy Power Query do wersji 2010 i 2013 a od wersji 2016 jest wbydowany który potrafi to zrobić bez VBA Tu masz link jak to zrobić Pozdrawiam. https://www.youtube.com/watch?v=oAOXgHq0...
Wypróbuj w "główny" takie makro [syntax=vb]Sub makro() ostw = Range("C65536").End(xlUp).Row Range(Cells(ostw - 2, 1), Cells(ostw, 11)).Copy Cells(ostw + 1, 1) End Sub[/syntax]Formuły powinny "ułożyć się" wg kolejności wierszy. Nie wiem tylko skąd pobierać nazwisko klienta...
Jeżeli pola są oddzielone spację, wystarczy taka modyfikacja pętli: [syntax=vb]Do While Not EOF(1) Line Input #1, TextLine If Left(TextLine, 13) = "121401_2.0011" Then arr = Split(TextLine, " ") wsdane.Cells(i, 1).Value = arr(0) wsdane.Cells(i, 2).Value = arr(1) wsdane.Cells(i, 3).Value = arr(2) wsdane.Cells(i, 4).Value = arr(3) wsdane.Cells(i, 5).Value...
lanzul , teraz to już za bardzo kombinujesz ;-) Przecież załączony csv ma wyraźnie 3 kolumny z danymi, co nawet zaznaczała autorka wątku ... :-)
Powinno być coś takiego: [syntax=vbscript]Private Sub CommandButton1_Click() Dim ws As Worksheet Dim wrsSrc As Long, wrsDst As Long, kol As Integer Dim sProtokolu As String Dim Znalazlem As Boolean wrsDst = 3 'pierwszy wiersz docelowy sProtokolu = InputBox("Podaj nazwę obiektu lub jego fragment", "Podaj nazwę obiektu", "??") Znalazlem = False With Worksheets("RAPORT")...
Zamień w odpowiednim miejscu kod na poniższy: [syntax=vb] If b Like "[ ][ ]333" Then p4 = InStr(a, " 4") p7 = InStr(a, " 7") If p4 > 0 Then x4 = Mid(a, p4 + 1, 5) Else x4 = "" If p7 > 0 Then x7 = Mid(a, p7 + 1, 5) Else x7 = "" t = t & x4 & ";" & x7 & vbNewLine End If [/syntax] Wynikiem jest: 11406;42005;70005 11414;42005;79999 11423;44013;70001 11433;;70000...
Naprawdę nie ma żadnej możliwości by sformułować kod, który skopiuje mi z folderu np. 5 najnowszych plików ? Kopia 5 najnowszych (bat). [syntax=dos](at)echo off setlocal EnableDelayedExpansion set "zrodlo=C:\pliki" set "cel=C:\pliki2" for /f %%a in ('dir %zrodlo% /b /s /o-d') do ( set /a licz+=1 if !licz! leq 5 copy %%a %cel%)[/syntax]
Można zwykłą pętlą For + kopiowanie komórek, np. [syntax=vb]Sub kopiowanie_danych() 'Arkusz1 to jest Worksheets("DANE") 'Arkusz2 to jest Worksheets("WARUNEK") 'Arkusz3 to jest Worksheets("DANE WYJŚCIOWE") Application.ScreenUpdating = False Dim war As String With Arkusz3 war = .Range("A1").Value If .FilterMode Then .ShowAllData .Range("C7:G" & Rows.Count).ClearContents...
Poproś kogoś innego.
Jest błąd, kilka minut Dodano po 6 Przepraszam za pomyłkę. Stałe. Pan będzie zastąpić innym 'c.Column <> 12 Then flag ' na 'c.Column < 11 Then flag '
[syntax=vbnet]Sub Makro1() Set toskopiowac = Selection.EntireRow Range(toskopiowac.Offset(1, 0), toskopiowac.Offset(Selection.Value - 1, 0)).EntireRow.Select Selection.Insert Selection.EntireRow = toskopiowac.Value End Sub[/syntax]
Witaj Odpal to makro [syntax=vb] Sub popraw() Dim bs As Range, r As Long Set bs = Sheets(1).Range("A:C").Cells r = 2 While bs(r, 1) <> Empty If (bs(r, 1) = bs(r + 1, 1)) And (Month(bs(r + 1, 2)) - Month(bs(r, 2)) > 1) Then bs.Rows(r).Copy bs.Rows(r + 1).Insert Application.CutCopyMode = False bs(r + 1, 2) = DateSerial(Year(bs(r, 1)), Month(bs(r,...
Cześć, przepraszam, ale mam być może banalny problem , ale nie siedziałem dość długo w excelu i nie mogę sobie poradzić. Generalnie mam taki skoroszyt o nazwie < "Lista" > w którym zapisuje sobie wszystkie lokalizacje, jedna pod drugą. Często zdarza się że musze jakąś lokalizacje zaraportować, zanalizować itd i pomyślałem sobie że zamiast za każdym...
Spróbuj z InputBox'em: [syntax=vb]w = 14 ile = Int(InputBox("Ile?", "Wpisz liczbę całkowitą", 3)) If ile < 1 Then Exit Sub Application.ScreenUpdating = False Range("A16:V29").Copy For i = 1 To ile Range("A" & 16 + w).Select ActiveSheet.Paste w = w + w Next Application.CutCopyMode = False Application.ScreenUpdating = True[/syntax]
Nie w każdym wierszy w arkuszu 1 będzie wduszony przycisk add Hmm.. Oznacza to, że w każdym wierszy jest przycisk ? te wiersze przy których zostanie wpisane hasło 'add' Oznacza to, że nie ma przyciskow... makro należy znaleźć hasło, czy jest w określonej kolumnie? Dodano po 1 Najlepiej dołączyć przykładowy plik
Spróbuj jeszcze makra działającego na nieco innej zasadzie. Operacje na arkuszu są wykonywane w całych zakresach kolumnowych, a nie na pojedynczych komórkach. Napisz jaki będzie czas wykonania w tym przypadku. [syntax=vbscript]Sub Kopiowanie2() ' zakres źródłowy Worksheets("Arkusz2").Activate Dim ostw As Long Dim src1, src2, src3 ostw = Cells(Rows.Count,...
może przykładowy plik trochę rozjaśni sytuację Z podkreśleniem tego trochę :D Jeśli w arkuszu CT umieścisz makro typu: 1022670 Zwracam uwagę na zmienne l i kol, których wartość została przyjęta dla Twojego xxxx - owego przykładu :cry: i które muszą być dostosowane do wartości rzeczywistych w pliku roboczym.
może być, tylko żeby kopiowało całe wiersze do nowego arkusza
Witaj Zamiast tego Rows(1).Copy Destination:=Rows(ost_wiersz) wpisz Rows(ost_wiersz) = Rows(1).Value Dodano po 2 z wiersza „A” "A" to jest kolumna
I ta opcja jest najopcjejsza.;)
W załączeniu przykład z funkcjami Wprowadziłem dodatkowe "zabezpieczenie" w postaci tego że każda lista musi się kończyć słowem KONIEC. Jeżeli tak nie jest to znaczy że jest więcej "poleconych" niż skopiowanych w dół wierszy z formułą wyszukującą. Wtedy trzeba "złapać" trzy ostatnie komórki i skopiować w dół. -------------- No tak, kolega adamas mnie...
Witam. Chciałbym prosić o pomoc w stworzeniu formuły, która będzie kopiowała wiersze z arkusza bazy do innych arkuszy. Kryterium kopiowania musi byc wartość w kolumnie A (gniazdo główne). Czyli jeżeli w kolumnie A jest Flowpack 1 to kopiuj wszystkie wiersze Flowpack 1 do Arkusza Flowpack 1. Jeżeli w kolumnie A jest Flowpack 2 to kopiuj wszystkie wiersze...
Jak ma być proste to musisz uprościć zagadnienie, jak ma być idiotoodporne to musisz tak wykombinować, żeby się nie dało łatwo popsuć, niekoniecznie w kodzie. Zwykle są to sprzeczne wymagania. Programy idotoodporne zwykle nie są proste, chyba że ... programista wpadnie na jakiś genialny pomysł, jak się nie narobić. :)
[syntax=vb] If ostatniwiersz <> 24 Then MsgBox "W arkuszu jest " & ostatniwiersz & " wierszy" [/syntax]
Zmodyfikuj np. tak :D [syntax=vbscript]Private Sub CommandButton1_Click() Dim rg As Range 'komórka docelowa - wystarczy lewy górny róg zakresu' Dim k As Integer Set rg = Range("Q3") k = rg.Value Range("arkusz1!I13:I169").Copy 'kopiuj' rg.Offset(0, k).Select Selection.PasteSpecial xlPasteValues 'wklej wartości' Application.CutCopyMode = False 'kasuj...
Witaj. Makro, jak każdy inny algorytm, nie robi czegoś na przykład, tylko dokładnie to, co się zaprogramuje. Opis jest na tyle nieprecyzyjny, że najlepiej będzie wrzucić przykładowy arkusz z przykładowymi danymi i wtedy napisać, czego ma dokładnie szukać, jakie warunki muszą być spełnione aby dokładnie jakiś zakres przenieść. Na razie wygląda jakby...
Robiłem kiedyś na swoje potrzeby taki pliczek, udostępniam go w załączniku. Zakłada on, że wszystkie pliki mają jednakowy układ i format treści. Kopiuje całe wiersze do zakładki "Wyniki". W żółtych polach podaje mu się dane do pracy, takie jak: - ścieżka do katalogu z plikami źródłowymi, - rozszerzenie plików które mają zostać wyszukane w tym katalogu,...
kopiowanie warunkowe wierszy Excel
Bardzo Was proszę o pomoc bo jest świeży w tym temacie. Kto jest świeży w temacie?
Spróbuj: =JEŻELI(MOD(DZIEŃ(A7);7)=0;SUMA(ADR.POŚR... Oczywiście formułę kopiujesz od wiersza 7 w dół.
Wkleiłem 3 pierwsze słowa (bez 'z') z Twojego tematu do wyszukiwarki. Patrzyłeś już na te tematy? http://www.elektroda.pl/rtvforum/topic17... http://www.elektroda.pl/rtvforum/topic16... http://www.elektroda.pl/rtvforum/topic16... Edycja po zgłoszeniu przez autora do moderatora: Jeśli tym tokiem rozumowania pójdziemy, to będziemy...
Witam. Siedzę już dwie noce nad makrem i nie mogę go ruszyć. Temat: Arkusz z tabelą danych A12:I12 wielkość tablicy 30000. Mam Stworzyć drugi arkusz który by pobierał całe wiersze z pieszego. Ponadto , kolumnie In są warunki utworzenia nowych arkuszy. Reasumując tyle ile będzie różnych zmiennych w I tyle będzie nowych arkuszy. Reasumując Sortowanie....
było by super Co było by? Testowalem Twój kod na XL2007 i XL2003 (inne nie mam) - wszystko dziala poprawnie
Być może było to: Sheets("rejestr").range("N1") = Target.Row ale nazwy arkuszy może mieć symbole narodowe (ś, Ł, ó itp), że w redaktorze WBA nie mógł napisać. W menedżera nazew zadałem nazwę dla komorki N1 'wiersz', które następnie mogą być używane w formule
U mnie ten kod działa. Pytanie, czy zrozumiałeś co on robi? Bo sprawdza występowanie fragmentu "www" w kolumnie A (od drugiego wiersza) w aktywnym arkuszu (tym, który jest aktywny gdy odpalasz makro). PS. Zmienna poz jest niepotrzebna, została po innych fragmencie.
Trochę niezrozumiale opisane. Z tego co rozumiem to nakładają Ci się zakresy, bo nie masz zadolarowanego pierwszego zakresu przed kopiowaniem (zaznacz zakres funkcji u na zaznaczonym zakresie naciśnij F4). Najlepiej zamieść jakieś dokładniejsze informacje, screena z opisem krok po kroku co chcesz zrobić, a co wychodzi nie tak.
No jak chcesz koniecznie kopować: Sub Kopio_aktyw_wiersza() ' ' Kopiowanie danych z aktywnego wiersza kol. A do D ' aktywny = Selection.Row kolumna = 1 ostatnia = Cells(Rows.Count, kolumna).End(xlUp).Row ' bez selekcji od razu kopiowanie wybranych komórek : Range(Cells(aktywny, 1), Cells(aktywny, 4)).Copy 'kopiowanie danych z aktywnego wiersza zakres...
Teraz jasne jest.
Oczywiście arkusze mogę samemu zrobić, żeby było prościej. No jak tak deklarujesz :D - to najprościej będzie bez żadnego kopiowania z wykorzystaniem powiązań z arkuszem źródłowym i odpowiedniego filtrowania - analogicznie jak w załączniku. 753601 BTW coś mi się widzi, że ten Twój arkusz robiony był na niezarejestrowanym komputerze i office :?:
Wyszło świetnie. Dziękuję za pomoc. pomogło
Odwołaj się w pętli do arkusza źródłowego/docelowego przez Worksheets("nazwa_arkusza"), a po kropce do konkretnej komórki: albo w postaci .Range("E" & i) albo w postaci .Cells(i, 5), gdzie i - nr wiersza źródła (ew. jeżeli zrobisz w pętli for each c in ...., to możęsz użyć c.Row). Do tego druga zmienna np. j dla wiersza arkusza-celu, czyli: j = 1 for...
Skoro Kolega chce VBA, to proszę. Kod dla modułu 'Arkusz3': [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 2 And Target.Column = 2 Then If Target.Cells = "XYZ" Then Call Kopiuj End If End Sub[/syntax] Kod modułu skoroszytu: [syntax=vb]Sub Kopiuj() s = Sheets("Arkusz3").Range("B2") Sheets("Arkusz1").Select ow = Cells(Rows.Count,...
Sprawdź czy o to chodziło. Jeśli faktycznie druga procedura ma kopiować "wiersze powyżej", to oczywiście nie zawsze będzie ich 15, bo wyszukiwana wartość może zostać odnaleziona w wierszu, powyżej którego nie ma 15 wierszy. Załączona procedura w takich przypadkach kopiuje wartości począwszy od wiersza nr 3 do wiersza wyszukanego. [syntax=vbscript] Option...
Najprościej użyć dodatkowy arkusz. Przy wykorzystaniu kolumny pomocniczej (w przykładzie "K") i formuły =JEŻELI(CZY.LICZBA(C4);MAX... od K4 w dół, obędzie się bez VBA. W arkuszu wynikowym odwołujesz się przez INDEKS, PODAJ.POZYCJĘ, WIERSZ
Wstawiam plik z rozwiązaniem problemu, tak jak ja go zrozumiałem. W kodzie makra nie wstawiałem objaśnień, bo zmienne nazwałem aż naddto opisowo. Jeśli czegoś nie rozumiesz z procedury, korzystaj z F1 ustawiając kursor na nieznanym Ci "słowie". Aha, nie zapomnij włączyć makr w Excelu, najlepiej na stale. Dostęp do edytora VBA to chyba wiesz: Alt + F11...
Można formułami. W arkuszu źródłowym zastosowałem kolumnę pomocniczą (K). W wynikowym formuła w A1 kopiowana w prawo. Przy kopiowaniu "rozjeżdżają" się formatowania, ale korekta to 1-2 kliknięcia...
Chciałby aby w arkuszu do którego kopiowane są wiersze w każdym wierszu pojawiał się przycisk Nie byłoby bardziej na miejscu zastosowanie hiperłącza? Wiersze usuniesz, przyciski zostaną, będzie kłopot...
Witam Mam taki problem posiadam arkusz1 i chciałbym za pomocą przycisku skopiować wiersz 1 do arkusza2 pod ostatni wypełniony wiersz. Problem w załączniku. Dzięki za pomoc
Znalazłem kiedyś jakiś poradnik odnośnie tworzenia makr, poszukaj może coś będzie: [url=https://www.cognity.pl/szukaj,blog-...
Witam Jeśli dane okazują się być takie same w innej linii, jak Excel odróżniają nowych wierszy?
fragment: [syntax=vbscript] .Cells(Ow - 1, 6).Copy .Range(Cells(Ow, 6), Cells(Ow + Nw - 2, 6)).PasteSpecial _ Paste:=xlPasteFormulas[/syntax] zastąp tym: [syntax=vbscript].Range("F" & Ow - 1 & ":F" & Ow - 1).Copy .Range("F" & Ow & ":F" & Ow + Nw - 2).PasteSpecial _ Paste:=xlPasteFormulas[/syntax] i zmień nazwy kolumn w zakresie....
Spróbuj[syntax=vb]Sub Makro2() Dim wrs As Integer, kol As Integer wrs = 1 kol = Sheets("4").Cells(1, Columns.Count).End(xlToLeft).Column + 1 With Sheets("1") Do While Sheets("3").Cells(wrs, 1) <> "" .Range("A1:D1").Value = Sheets(3).Range("A" & wrs & ":D" & wrs).Value Sheets("4").Range(Cells(1, kol), Cells(30, kol)).Value = .Range("J1:J30").Value...
Witam wszystkich mam poważny problem z dodawaniem nowego wiersza za pomocą przycisku. Stworzyłem tabelkę, która zawiera wiele list rozwijanych i funkcji jeżeli to coś tam. Przycisk z odwołaniem do Makra dodaje mi kolejny wiersz zachowuje listy rozwijane ale nie przenosi funkcji i pojawiają się puste komórki. Czy może ktoś wie jak powinno wyglądać prawidłowe...
Moja propozycja: dwie zagnieżdżone pętle... Sub kopiowanie() licznik = 1 IleWierszy = Sheets("dane").Range... For Etykieta = 2 To IleWierszy IleEtykiet = Sheets("dane").Cells... 1) For i = 1 To IleEtykiet Application.Range(Sheets("d...
[syntax=vb]Sub kopie_zakres() With Sheets("Arkusz3") pw = .Cells(Rows.Count, 1).End(xlUp).Row + 1 Sheets("Arkusz2").Range("A2:Y2").Copy .Cells(pw, 1) End With End Sub [/syntax]
Witam, Mam zakres danych a1:l52, interesowało by mnie jakiego użyć kodu ażeby kopiowało mi wiersze gdzie w kolumnach od b do l są dane. ważne żeby przy kopiowaniu wiersza do nowego arkusza kopiowało również wartość z kolumny a
Namotałeś z tym kodem. Skąd dokąd i co chcesz kopiować?
witam, potrzebuje pomocy na utworzenie makra - postaram sie dobrze wytlumaczyc tabela 1 : kolejnosci rozladunkow- ktore zmieniaja sie w trakcie pracy mamy max 10 rozladunkow na auto. 1 kolumna- klient, 2 kolumna- tempteratura, 3 kolumna- kod trasy tabela 2 : lista wszystkich klientow przewidzianych w ciagu dnia do rozladunku 1 kolumna- liczba palet:...
Cześć Może tak: Z_max=X_max/50 For Z = 0 To Z_max X=Z*50 Y=Z*31
Twój kod będzie działał, jeśli przeniesiesz go do modułu standardowego: Menu>Insert>Module
kopiowanie filtrowanych wierszy makro kopiowanie wierszy kopiowanie wierszy warunkowe
zapalać check mercedes rangi użytkowników pilot pulsar
walkie talkie samsung ue60eh6000
Odklejanie soczewek LED w telewizorach LG - skutki i naprawa Skrypty do automatyzacji w WinSCP: wsadowe, PowerShell, .NET