Cóż, taka już natura Excela... Pewnie wklejają się wszystkie odfiltrowywane wiersze, tylko jeden pod drugim, począwszy od pierwszego widocznego. Jak po tej operacji zdejmiesz filtr, to wszystkie odfiltrowywane wartości z kolumny A powinny być w kolumnie C, tylko jedna pod drugą. Nic na to nie poradzisz, trzeba po prostu być ostrożnym przy używaniu filtra...
[syntax=vbscript]Sub Kopiuj() Sheets("Arkusz1").Select ow = Cells(Rows.Count, "A").End(xlUp).Row y = 1 For x = 1 To ow If Cells(x, "C") > 30 Then Range("A" & x & ":D" & x).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub [/syntax]
Witaj [syntax=vbnet]Sub CellToComment() Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection For Each Rng In WorkRng koment = koment & Rng.Value & vbLf Next WorkRng(1).Offset(WorkRng.Count).NoteTex... Text:=koment End Sub [/syntax]
Nowy kod był niedokładnie przepisany, zostały 2 linie ze starego kodu, które należało usunąć. Poza tym została zmieniona struktura logiczna kodu. [syntax=vbscript]Else If[/syntax]to nie jest to samo co [syntax=vbscript]ElseIf[/syntax] Poprawiłem pierwszy blok, tak jak pisałeś, dalej już nie sprawdzałem. Myślę, że to powtarzanie kodu w tej formie jest...
"Zabawa" ciągami się kłania.
W załączniku.
Przeczytaj w pomocy funkcje WYSZUKAJ.PIONOWO
Zobacz takie rozwiązanie.
Witaj [syntax=vb] Dim Sh As Worksheet Dim intName As Integer Dim shName As String Dim strNazwa As String ActiveWorkbook.Sheets("Template").Copy After:=ActiveWorkbook.Sheets("Template") strNazwa = "projekt" ' tutaj ustawiamy jak ma wyglądać początek nazwy arkusza intName = 0 For Each Sh In ActiveWorkbook.Worksheets shName = Sh.Name If Left(shName, Len(strNazwa))...
Napisanie takiego makra nie jest czymś szczególnie trudnym, tylko ono będzie się dość długo wykonywać. Moja propozycja zmierzała do przyspieszenia tego. [syntax=vbnet]Sub kopiowanie2() ' ' kopiowanie Makro ' Dim r As Range Dim wkcalc As Worksheet Application.ScreenUpdating = False ' Workbooks.Open Filename:= _ "U:\Nowy folder\Arkusz B.xlsx" Set wkcalc...
W miejsce 'Sheets("Sheet2").Select' umieść wstawianie arkusza (Sheets.Add) i nadanie nazwy (Activesheet.Name). Jeśli wartości w kopiowanych komórkach nie są unikatowe, musisz najpierw sprawdzić czy arkusz z taką nazwą istnieje.
Jak masz posortowane dane po A i B to wystarczy zrobić kolumnę pomocniczą łączącą dane z kolumny A i B A potem wykorzystać "Sumy częściowe" excela http://obrazki.elektroda.pl/9375537100_1...
Spróbuj z "=" w FormulaLocal nie tu: YTD(i,j) = TemplateYTD.Cells(i,j) a tutaj cCellYTD.FormulaR1C1Local = "=" & YTD Ale przydałby się arkusz z przykładem...
Powinno działać.
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,...
Witam Dlaczego petla? :) [syntax=vb] m = Month(Date) Range(Cells(2, m), Cells(Cells(Rows.Count, m).End(xlUp).Row, m)).Copy Destination:=Range("N2") [/syntax]
.. Nie wiem jak zmienić w pierwszej części programu aby kopiował z innego arkusza... [syntax=vb] Sheets("Arkusz1").Select Range("G20").Select Selection.Copy Sheets("Arkusz2").Select Range("G20").Select ActiveSheet.Paste[/syntax]
Range("A5").Copy Sheets("arkusz2").Range("c" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Witaj Range(B1:B6).Insert Shift:=xlToRight
Nie ma problemu - zmienimy pętlę warunkową na zwykłą. Na marginesie, jak widać w twoim załączniku, numery pisma przy "anulowaniu" dokumentu też są usuwane. Najpierw sprawdzimy ile jest wierszy, a potem pętlą będziemy sprawdzać czy wiersz nie był już skopiowany i czy ma numer zadania. Jeżeli tak to go przerzuci, jak nie "pójdzie" dalej. (taki wiersz...
Tak. Tyle, że w zależności od poziomu zabezpieczeń może być monit lub przy wysokim poziomie może nie działać makro/makra.
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ć...
U mnie działa...
Musiałem dodać fragmenty kodu odpowiedzialne za zróżnicowaną numerację kopiowanych przycisków, a następnie identyfikację przycisku "Clear", który został użyty. Wszystkie przyciski "Copy" działają identycznie - kopiują zawsze pierwszą tablicę na pierwsze wolne miejsce. Możesz tej pierwszej tablicy nie wypełniać, potraktować ją jako szablon, unikniesz...
Zdaje się, że przypisujesz źle do newName . Nazwa różni się od newPath , pod którą zapisujesz plik. Sprawdź krokowo. Nie będzie prościej zapisać plik (me.SaveAs) z inną nazwą? Zawartość ma być przecież identyczna. P.S. Kod umieszczaj w znacznikach syntax. Post poprawiłem [mod].
Zbliżone działanie do pożądanego :D tj. przenoszenie danych z katalogu do oferty przy pomocy dwukliku (makro działa pojedynczymi wierszami - oczekując na wpis ilości do oferty :ok: patrz na zrzut ) 978389 Drugie makro w "ofercie" usuwa wybrane wpisy (wybrany indeks :!: ,a przy okazji ilość :D ) 978391
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...
Cześć, spróbuj takie makro [syntax=vbscript]Sub Przenies() Dim O As Worksheet: Set O = Worksheets("Obliczenia") Dim N As Worksheet: Set N = Worksheets("Nowe Dane") Dim i&, Ow&, Nw&, a$ Ow = O.Cells(Rows.Count, 1).End(xlUp).Row + 1 Nw = N.Cells(Rows.Count, 1).End(xlUp).Row Application.ScreenUpdating = False With O .Activate .Range(Cells(Ow...
Listę, prawdopodobnie, można uznać za skończoną, jeśli ilość elementów z kolumny nazwisk będzie równa liczbie elementów kolumny karty ocen, tak więc przed wywołaniem formy porównaj liczbę niepustych komórek w obydwu kolumnach i jeżeli jest równa pomiń aktywowanie formy
Proponuję: 1) Zamiast formuły z funkcją JEŻELI zastosować formułę z funkcją MAX. Uniknie się w ten sposób dwukrotnego odwołania do tych samych danych. 2) Jeżeli będziesz przestrzegał zasady, że nowe arkusze są dodawane zawsze na początku (a nie na końcu, jak robi się zazwyczaj), to będziesz potrzebować zawsze odwołań do następnego arkusza w kolejności....
nie mam możliwości przesłania pliku ( nie wiem dlaczego) Jak to jest .XLSM - spakuj RAR lub ZIP Dodano po 2 komórka G3 - data od, komórka G4 - data do Nie ma tam tego w komorce G4 - OPIEKUN, G3 scalona z B3 dane wprowadzone przez użytkownika ( kolumny B:M) N:U - nie trzeba?
Użyj właściwości Text komórki zamiast Value, czyli [syntax=text].TextFrame.Characters.Text = Cells(3, 2).Text[/syntax]
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.
Ok teraz masz kryteria w tablicach w kodzie VBA w razie jakbyś chciał dodać kryterium, musisz zwiększyć tablicę o 1 i dopisać do tego dodatkowego elementu kryterium z gwiazdkami. Jak zobaczysz kod to chyba będziesz wiedział o co kaman. Dodałem też zabezpieczenie przed kliknięciem dwa razy na makro
Jeśli makro, następnie tak
No ale to co przedstawiłeś ma błąd. Wg mnie nie do końca zrozumiałeś przykład przedstawiony przez kolegę adamas_nt . Zauważ że "druga linia"/drugi przypadek liczony jest błędnie (dla ilości 266 sztuk, danej paszy, pomijając jej typ, starczy do 2011-04-09 a nie do 06) gdyż w zamierzeniu kolegi adamas_nt nie było zwielokrotnienie wyników (Przykład był...
gdy ilość znaków wynosi 14 Proponuje np. [syntax=vbscript]Private Sub TextBox1_Change() Lr = Range("A" & Rows.Count).End(xlUp).Row + 1 If Len(TextBox1.Value) = 14 Then Cells(Lr, "A") = TextBox1.Value End If End Sub[/syntax] Jeśli chcesz 14 znaków lub więcej to oczywiście zmień zapis warunku na => 14 :D
dane z wielu plików i wklejać je jako niesformatowane dane do jednego arkusza w oddzielnym skoroszycie... każda tabela z danymi ma inna liczbe wierszy . Zaczynają się zawsze w tym samym punkcie i liczba kolumna jest taka sama ale liczba wierszy zawsze inna. Różna jest także liczba arkuszy ale dane zawsze znajdują się w ostatnim . Wszystkie pliki z...
Dostosowałem makro z w/w tematu. Nie testowałem zbytnio, ani nie testowałem istniejących procedur. Ale na zakończenie usuwana jest zawartość arkusza "TEMP", dlaczego?
Zrozumiałem (w końcu) :) Kłopotem jest tu ilość tych arkuszy Ex1. Żadna formuła z bezpośrednim wskazaniem komórek źródłowych nie wejdzie bo będzie za długa. Prawdę mówiąc lepiej by było to "łączyć" w accessie. Może zrobić 12 plików pomocniczych z 70 arkuszami i jednym głównym sumującym te arkusze. Każdy z arkuszy byłby połączony z konkretnym plikiem...
A zatem tak spróbuj: [syntax=vbscript]Private Sub CommandButton1_Click() Dim ws As Worksheet Dim fso As Object Dim oFile As Object Set fso = CreateObject("Scripting.FileSystemObject... Set oFile = fso.CreateTextFile("c:\wynik.txt") For Each ws In ThisWorkbook.Worksheets Call PrintRange(oFile, ws, ws.Range("A2:E4"), 3) Call PrintRange(oFile, ws, ws.Range("J6:M8"),...
Użyj WYSZUKAJ.PIONOWO()
Hmm, może dwie pętle? Jedna do określenia Nr wiersza, druga do wypełniania... [syntax=vb]wrs = 1 strS = "MAGMA" maks = 1000 'ustawienie maksimum, coby nie wpaść w nieskończoną Do While Cells(wrs, 6) <> strS If wrs = maks Then Exit Sub wrs = wrs + 1 Loop Do While Cells(wrs, 7) <> "SUMA" If wrs = maks Then Exit Sub wrs = wrs + 1 Cells(wrs,...
Po tym opisie wydaje mi się, że nie potrzebne jest w ogóle makro. Prawdopodobnie dało by radę zrobić to formułami. Załącz plik z przykładowymi danymi i zobaczymy co da się zrobić.
Tak, no i jeszcze wiersz z imionami. Jest na sztywno. Jeśli zawsze będzie o jeden wyżej, linię: wkb.Sheets(1).Cells(wrsDst, 1) = .Cells(2, kol) zastąp: wkb.Sheets(1).Cells(wrsDst, 1) = .Cells( wrs-1 , kol)
Ciezko sie trochu domyslec o co dokladnie pytasz, ale jesli dobrze zrozumialem to w arkuszu rok2005 w dowolnej komorce wstaw: =JEŻELI(Rok2000!AI3=1;Rok2000!AP3;"") i bedzie kopiowalo zawartosc AP3 pod warunkiem wartosci "1" w AI3, Prawie to samo co wyzej tyle ze nawiasy gdze indziej.
Sheets("DATA ENTRY " & s)
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)...
Przy założeniach że w arkusz1 dane w kolumnie A rozpocząć 3 wiersz, tabela na arkusz2 rozpoczyna się w 2 wiersze =INDEKS(Arkusz1!A:A;(WIERSZ()-2)*45+3)
mnożenie :D To zwykła matematyka. Zasadniczo przetłumacz na polski i wszystko stanie się jasne :D
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...
Witaj Dodano po 9 albo w arkusz X column B =JEŻELI(LICZ.JEŻELI(Y!A:A;A1)>0;WYSZUKAJ...
Sprobuj [syntax=vb]Sub zamowienie() Dim lista As Variant, ostWs As Long Dim kalk As Workbook Set kalk = ThisWorkbook 'Myslim ze tu ma byc wydruk lista = Array("I7", "I9", "L3", "I10", "K33", "J33", "L33") Application.ScreenUpdating = False Workbooks.Open Filename:=("D:\ZEST_ZAM.xlsx") With Sheets("ZEST_ZAM") ostWs = .Range("A" & .Rows.Count).End(xlUp).Row...
Tabelkę wstawisz [syntax=vbscript]ActiveDocument.Tables.A... Range:=Selection.Range, NumRows:=2, NumColumns:=2, DefaultTableBehavior:=wdWord9TableBehavi... możesz bezpośrednio z excela skopiować jakiś zakres i wkleić do worda, też otrzymasz tabelkę. Kolor słów/liter łatwo zmienisz w excelu (zastosuj to do komórki z tekstem "KolorTest") [syntax=vbscript]Cells(x,...
Trzeba dopisać lub zmienić warunek... Makra, z wyjątkiem procedur zdarzeniowych, umieszcza się w modułach.
Witaj. Zakładając, że oryginalne dane na pierwszym arkuszu, a wynik na drugi: [syntax=vb]Sub upraw() Dim bsk As Range, bsr As Range Dim rb&, rd&, cd&, cm& Set bsk = ThisWorkbook.Sheets(1).Columns(1).Cells Set bsr = ThisWorkbook.Sheets(1).Range("B:J").Rows rb = 2: rd = 2 With ThisWorkbook.Sheets(2) bsk(1).Copy .Cells(1, 1): bsr(1).Copy...
Zrobiłby to w ten sposób: (dopisz formuły w szarze komorki)
Jasne, nie mniej jednak taka sama sytuacja może wydarzyć się w przypadku rozwiązania z przyciskiem. Ja bym to połączył ze sprawdzeniem czy taki wpis nie istnieje już w zestawieniu(np zrobienie unikatowego rekordu z Pozycja&grupa&Data.). Jeśli istnieje można wyświetlić monit o potencjalnym dublowaniu. Edytowałem. Nie cytuj w całości postu poprzedzającego....
w zaznaczonym przeze mnie zakresie Nie doczytałem, post zmieniłem Sub KopiuZaznaczone() Dim kom As Range, i As Integer, ostWrs As Long ostWrs = Sheets(1).Range("G65536... + 1 For Each kom In Selection If Left(kom.Address, 2) = "$G" Then If kom.Value = 1 Then ActiveSheet.Rows(kom.Row).Copy.....
Jak masz już zapamiętany w zmiennej numer kolumny, to możesz odwołać się do komórki w trzecim wierszu przez [syntax=text]Cells(3, numer_kolumny)[/syntax] Jeśli potrzebujesz się odwoływać za każdym razem do innej kolumny, to: [syntax=text]Cells(3, ActiveCell.Column)[/syntax]
Yogi (przypominasz mi dzieciństwo) ;). Nie pamiętam, czy był to 'Zwierzyniec', czy też 'Ekran z bratkiem'. Ale autor napisał: potrzebuję makro A do Autora. Może ten kod będzie wygodniejszy (jest bez obsługi błędów, sam się pobaw): [syntax=vb]Sub Przenies() Dim d As Date, p As Date, k As Date ow = Cells(Rows.Count, "B").End(xlUp).Row y = Sheets("Arkusz2").Cells(Rows.Count,...
Zmienit 'For i = 0 To nrep - 1' na 'For i = 1 To nrep - 1'
[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]
Sub test() Dim plik As Workbook, baza As Workbook, wrs As Long Dim ostWrs As Long, kol As Integer kol = Month(Date) + 11 Set plik = ThisWorkbook Set baza = Workbooks.Open(plik.Path & "\base.xls") With plik.Sheets("OVERVIEW")... ostWrs = .Range("B65536").End... For...
https://obrazki.elektroda.pl/9936064400_...
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...
Musisz ustawić zmienne odpowiedzialne za bieżący arkusz oraz arkusz z drugiego pliku, a następnie odpowiednio nimi manipulować przy kopiowaniu. Ja to robię zwykle w ten sposób: [syntax=vb] Set wswyn = ThisWorkbook.Worksheets("Wyniki") 'bieżący arkusz Set wrkSrc = Workbooks.Open(Filename:=myPath, ReadOnly:=True) 'otwórz plik źródłowy Set wsSrc = wrkSrc.Worksheets("Dane")...
O rety, ale mam zaskok :) W załączniku rozwiązanie z kolumną pomocniczą.
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...
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...
Poprawiłem błąd.
przydział w grupie A jest zawsze tekst, natomiast w grupie B są zawsze liczbowe? Porównaj D3 - G3, D6 - G6, etc. Bardzo pożądane jednego typu(tekst 109a)
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)...
Dobry wieczór, Jeżeli rok wyrażony jest dwiema cyframi, interpretacja daty zależy od ustawień systemowych. Jeżeli w ustawieniach systemu operacyjnego domyślny format daty jest w kolejności rok-miesiąc-dzień, to data - czy to pobrana z internetu, czy wpisana bezpośrednio, tak zostanie zinterpretowana. Gdyby rok był zapisany czterema cyframi, komputer...
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 ;)
Hmm. Jak się orientujesz w tych wszystkich GoTo? To samo, uzupełnione, w innej wersji.[syntax=vb]Option Explicit Sub Kopiuj() Dim WksDo As Workbook, PierwszyWolny1 As Long, PierwszyWolny2 As Long On Error GoTo koniec If MsgBox("Rozpocząć kopiowanie ?", vbQuestion + vbYesNo) = vbYes Then 'Potwierdzenie rozpoczęcia kopiowania With Application .ScreenUpdating...
Podmień linijkę wklejania. Podaję cały blok copy-paste dla porównania kolRight = Range("d2").End(xl... Range(Cells(wrsLeftTop, 4), Cells(wrsLeftTop + 1, kolRight)).Copy Range(Target.Address).Offset(... 1).Select Selection.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode...
W Excelu 2003 kopiowanie danych spod filtra kopiuje także dane ukryte, a nie tylko widoczne rekordy. Nie chcę w tej chwili sprawdzać, ale chyba / być może ten problem nie występuje w Excelu 2007 (albo myli mi się z Open Office - tam na pewno kopiują się tylko widoczne rekordy przy autofiltrze). Aby uniknąć tego kopiowania ukrytych rekordów wchodzi się...
Jesli tak: [syntax=vb]Arkusz1.Cells(w, kol).Copy Arkusz21.Cells(poz, kol_doc)[/syntax] Ponadto czy istnieje Arkusz21 ? Nie nazwa wkladki, tylko kodowa nazwa(widoczna w edytorze VBA)
Przetestuj kod: [syntax=vb]Sub uzupelnij() Dim shSrc As Excel.Worksheet Dim shDest As Excel.Worksheet Dim lLstRwSrc& Dim rngTmp As Excel.Range Dim colUniq As Collection Dim vBox As Variant Set colUniq = New Collection Set shSrc = Sheets("baza") Set shDest = Sheets("PRE-ALERT") With shSrc lLstRwSrc = .Cells(Rows.Count, 1).End(xlUp).Row Set rngTmp = Range(.Cells(2,...
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...
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.
Mogę zmienić, by wszystkie nazwy były takie same w obydwu plikach. Nie możesz, tylko musisz - jeżeli makro ma coś wyszukiwać i dopasowywać po nazwie, taka "radosna twórczość" jest niedopuszczalna. W Prod.xlsx - tabele w Sheet1, Sheet2 i Sheet3 najlepiej, żeby zaczynały się w tych samych komórkach (wiersz, kolumna). Liczba tabel (arkuszy) jest stała...
Myślę, że to tak dobrze [syntax=vb]Sub copy_poz() Dim dst As Range, src As Range Dim rd&, rs&, rse& Set dst = Sheets(2).Range("A:D") Set src = Sheets(1).Range("A:D") rd = 2: r = 1 While src(r + 1, 1) <> Empty pcur = 0 While pcur <= src(r + 1, 1) r = r + 1 If src(r, 4) = "M" Then pcur = src(r, 1) rs = r While src(r + 1, 1) > pcur...
Zerknij na to:
Dla Twojego przykladu [syntax=vb] Sub kopie() Dim i As Long For i = 1 To 4 Sheets("Output").Shapes("Rectangle " & i).TextFrame.Characters.Caption = Sheets("Output").Range("B" & i * 7 - 3) Next End Sub [/syntax]
[syntax=vbscript]For y = 1 To ile - 1[/syntax]
Wypróbuj: [syntax=vbscript] Sub xyz() Const pathSrc As String = "C:\test1\" ' folder źródłowy Const pathDest As String = "C:\test2\" ' folder docelowy Dim StrFile$, WbkSrc As Workbook, WbkDest As Workbook StrFile = Dir(pathSrc & "*.xls") Application.ScreenUpdating = False Do While Len(StrFile) > 0 Name pathDest & StrFile As pathDest &...
Usuń: [syntax=vb]Cells.Select Selection.ClearContents[/syntax] i zmień [syntax=vb]y = 2[/syntax] na [syntax=vb]y = Worksheets("Scanlijst22").Range("E" & Rows.Count).End(xlUp).Row + 1[/syntax]
Mam już rozwiązanie: należy zaznaczyć komórki, Ctrl+G -> specjalnie -> tylko widoczne komórki: i wtedy albo kopiuj albo usuń itd.
Zerknij wpierw tutaj, czy cokolwiek by ci się nadało do adaptacji pod twoje potrzeby: https://www.elektroda.pl/rtvforum/topic3... https://www.elektroda.pl/rtvforum/topic3...
Zadanie polega na tym żeby skopiować z arkusza nr 1 (Data), tylko te kolumny z którymi pokrywają się nagłówki znajdujące się w arkuszu nr 2 Zadanie polega na tym czego nie dopowiedziałeś. Czy kopiowane mają być wszystkie, czy tylko wyfiltrowane wiersze, jak np. te według "Kolekcja/Seria", wyfiltrowane po "Casual" ? Wyfiltrowanych jest 4 062, a nie...
:) Antoni nie denerwuj się tylko popatrz na własny przykłąd. W której kolumnie arkusza "Roczny" umieścił byś dane wg twojego opisu? Gdyby nie było takiego przypadku można by było uprościć kod a tak trzeba sprawdzić czy się nie mylisz bo będzie wywalać błąd. [syntax=vb]Sub Przenies() Dim x As Integer, nrKol As Integer 'Sprawdzenie za pomocą licz.jeżeli()...
Wybor spolki - lista lub kursor na skrocona nazwe
Spróbuj [syntax=vb]Sub Makro_kopiowanie() ' This macro will import a file into this workbook PathName = Range("D3").Value Filename = Range("D4").Value ControlFile = ActiveWorkbook.Name wrs = 5 'nazwy arkuszy od "D5" Workbooks.Open Filename:=PathName & Filename Windows(ControlFile).Activate With Sheets("Podsumowanie") Do While .Cells(wrs, 4) <>...
Ponieważ w Outlooku nie pracował, bo go nie używają. Ale wiem, że może mieć także makra i uruchamiania, może automatycznie zapisać plik w odpowiedniej lokalizacji i również rozpakowac go.
[url=https://docs.microsoft.com/en-us/of...
Witaj Pomysł 1:
szablon.SaveAs Filename:=sciezka Proponuję użyć SaveCopyAs. Ale nie wiadomo, czy makro (jego nazwa sugeruje tworzenie arkuszy), czy też ma tworzyć nowe pliki.
Pierwsza metoda - zdefiniować niektóre zmienne globalne i używać ich do przekazywania danych w innej formie
kopiować excel kopiować excel excel excel kopiować format
serwis amica zmywarka przebarwi kolor radio kondensator trzeszcz
lodówka bosch toshiba firmware update
Pralka Beko MWUE 6536CW nie odwirowuje - przyczyny Lokalizacja przerywacza kierunkowskazów Renault Master 2