Zakładając, że nagłówek znajduje się w pierwszym wierszu: [syntax=vbscript]Sub WszystkieArkuszeDoJednego() Sheets.Add.Name = "Podsumowanie" Application.ScreenUpdating = False nwp = Sheets("Podsumowanie").Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To Sheets.Count Set sh = Sheets(x) If sh.Name <> "Podsumowanie" Then ow = sh.Cells(Rows.Count,...
[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]
[syntax=vbscript]Sheets("2").Range("C1")... = vbRed[/syntax]
w pierwszym wierszu dla kolumny jest słowo "Tak" Dla tego trzeba jedna linijka[syntax=vb] Sub kopia() If ActiveSheet.Range("A1") = "Tak" Then ActiveSheet.Copy End Sub[/syntax]
Zobacz takie rozwiązanie.
[syntax=vb] For i = LBound(Zrodla) To UBound(Zrodla) Worksheets("txt").Range(Cele(i)) = Worksheets("oferta").Range(Zrodla(i)).Va... Next i [/syntax]
Wybor spolki - lista lub kursor na skrocona nazwe
Nie bardzo rozumiem kopiowanie 'pp1' i oddzielne tworzenie nowego arkusza. Może chodzi Ci o to? [syntax=vbscript]Sub DodajPP() Dim n As Integer n = Val(Mid(Sheets(Sheets.Count).Name, 3)) n = n + 1 Sheets("pp1").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "pp" & n End Sub [/syntax]
Czy te 4-ry "kolejne" arkusze należące do jednej grupy "cyfrowej", np.: 0202 (SUMA, WDT, WNT, WŚU) znajdują się jeden za drugim, czy też mogą być porozrzucane pomiędzy innymi arkuszami z innych grup numeracyjnych, np.: 0202SUMA, 0205WDT, 0202WDT, 0203WŚu, itd. ?
Wystarczy np. taka prosta przeróbka: [syntax=vb]strPlik = Application.GetOpenFilename("Pliki Excela (*.xlsx),*.xlsx", 2) sFileName = Split(strPlik, "\")(UBound(Split(strPlik, "\"))) If strPlik = "False" Or UCase(Left(sFileName, 3)) <> "KWS" Then Exit Sub End If[/syntax]
Witaj Dodano po 9 albo w arkusz X column B =JEŻELI(LICZ.JEŻELI(Y!A:A;A1)>0;WYSZUKAJ...
żeby kopiowało tak jak kopiuje ale bez otwierania np. zmiana1 i zmiana2 Makro działa w chwili otwarcia arkusza "podsumowanie". Wszystkie dane które były wprowadzone w zmiana1, zmiana2, zmiana3 makro kopiuje i wykasuje dane z arkuszy zmiana1, zmiana2, zmiana3. Jak w piątek nie otwierac "podsumowanie", dane pozostaną aż do poniedziałku, a raczej do czasu...
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) <>...
To naprawdę prosta sprawa. Przeanalizuj dostosuj do własnych potrzeb.
https://obrazki.elektroda.pl/9936064400_...
:) Naprawdę nie stosowałem tu żadnego zabiegu. :) Może "Forum" tak współpracuje z twoja przeglądarką/monitorem. Ja mam IE8 i IE9 (w zależności od kompa) i monitor 21 calowy w rozdzielczości 1920x1080 jak wchodzę na ten topik widzę cały kod, te kody o wiele dłuższe też (nie mam pasków przewijania) a odnośnik "zwiń" / "rozwiń" przy "Kod Visual Basic"...
[syntax=vb]wiersz = 6 Sheets(1).Activate While Cells(wiersz, 1) <> "" Cells(wiersz, 2).Copy Sheets(Cells(wiersz, 1).Text).Range("C8") wiersz = wiersz + 1 Wend [/syntax]
Makro, które zamieściłeś powinno być umieszczone w module uniwersalnym skoroszytu, a odwołuje się ono do arkusza aktualnie aktywnego oraz do arkusza o nazwie "Baza". Ponieważ w kodzie są pętle po wierszach i kolumnach, a ich adresy początkowe są zapisane na sztywno, to struktura (w sensie umieszczenia początku danych) musi być jednakowa dla wszystkich...
[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]
Spróbuj takiego makra. [syntax=vbscript] Sub Kopiowanie() Dim arkA As Worksheet, arkB As Worksheet, arkZest As Worksheet Dim OstA&, OstB&, GdzieWkleic&, PierwszyWiersz%, IleKolumn% Set arkA = ThisWorkbook.Worksheets("aaa") Set arkB = ThisWorkbook.Worksheets("bbb") Set arkZest = ThisWorkbook.Worksheets("Zestawienie") OstA = arkA.Cells(Rows.Count,...
niestety Akcesa nie posiadamy w firmie I właśnie dla takich, jak Wy istnieje darmowy Access Runtime. P.S. Wybacz Kolego, ale ciężki z Ciebie przypadek... Co Ci się nie podoba w powyższym rozwiązaniu?
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))...
Np filedialog: .Filters.Add "Pliki Excel", "*.xls" Można i bez otwierania. Spróbuj coś z makr Excel4 arg = "'" & p & "[" & f & "]" & s & "'!" & Range(r).Range("A1"... , xlR1C1) ExecuteExcel4Macro(arg) Gdzie p to ścieżka do pliku, f nazwa...
Zamiast If Left(LTrim(.Cells(i, 11)), 4) = tekst Then podstaw If InStr(.Cells(i, 11), tekst) > 0 Then i analogicznie w drugim przypadku. p.s. Zdaje się, że w pliku nie postawiłem kropek przed przed Cells. Z drugiej strony aktywnym jest arkusz ostatnio otwarty, ale dla porządku...
Jeśli masz otwarte oba pliki i w nich są wszystkie wymienione arkusze :!: to spróbuj takiego kodu: [syntax=vbscript]Workbooks("cale.xls").A... Sheets("WAC").Select Range("P3").Select Selection.Copy Workbooks("Daily production meeting report.xlsm").Activate Range("B15").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks...
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].
Sposobów na rozwiązanie tego problemu jest kilka - tylko te bardziej wydajne mogą być trudniejsze do zrozumienia / zapamiętania dla kogoś początkującego. Dlatego poniżej najprostszy przykład, z pętlą (w zasadzie dwoma): najprostszy, ale i najmniej wydajny... Dla małej ilości danych powinien działać OK. Pytaj, gdyby coś było niejasne. [syntax=vb]Private...
zrób np. tak (wstawi ci na koncu) [syntax=vb]ActiveSheet.Copy After:=Workbooks("wczyt.xlsm").Sheets(Sh...
jezeli bedzie to robic na na jednym i tym samym kompturze to pocelam scriptit, mam kilka "programow" w tym napisanych np: nowy word, wstaw ze schowka, wstaw date, ustaw drukarke oraz strone, wydrukuj ...
Trzeba dopisać lub zmienić warunek... Makra, z wyjątkiem procedur zdarzeniowych, umieszcza się w modułach.
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....
:) 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()...
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...
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?
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...
było by super Co było by? Testowalem Twój kod na XL2007 i XL2003 (inne nie mam) - wszystko dziala poprawnie
Wstawiłem tabelę, włączyłem rejestrator makr, zmieniłem nazwę w 'Narzędzia tabel'. Nagrało się m/in: https://obrazki.elektroda.pl/2689543600_... Odpowiedź: Tak, można
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)
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...
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.
[syntax=vbscript]Sub Makro() Sheets("Arkusz1").Select a = Application.Match("W", Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row), 0) nw = Sheets("Arkusz2").Cells(Rows.Count, "A").End(xlUp).Row + 1 If Not IsError(a) Then Sheets("Arkusz2").Range("A" & nw) = Range("B" & a) Rows(a).Delete End If End Sub [/syntax]
[syntax=vb] Sub Wyslij() Dim bs As Range Dim r& Set bs = Sheets("zbiorczy").Range("A:L") r = bs(Rows.Count, 1).End(xlUp).Row + 1 bs.Rows(r) = bs.Rows(1).Value Range("b6:c10").ClearContents End Sub [/syntax]
Dla mnie trochę przerost formy no ale każdy ma swój styl programowania. Zauważ że warunek w głównej procedurze wyjkonuje się jedynie gdy nie ma arkusza o danej nazwie. W przeciwnym wypadku nie robi nic. Proponuje dodać "w przeciwnym wypadku - gdy warunek jest niespełniony" czyli Else i ustawić temp na istniejący arkusz o danej nazwie. Z tym że wyjąć...
O coś takiego chodzi? [syntax=vb]ost_wiersz = Worksheets("Arkusz2").Range("A" & Rows.Count).End(xlUp).Row Worksheets("Arkusz2").Range("A" & ost_wiersz + 1 & ":H" & ost_wiersz + 1).Value = Worksheets("Arkusz1").Range("A1:H1").Val... Worksheets("Arkusz1").Range("A1:H1").Cle...
No tak. Mój błąd, bo powinno być w innej kolejności. Sorry, ale dzisiaj sobota ;) Coś tam (w załączniku) kopiuje. Przeanalizuj, dostosuj do własnych potrzeb.
[syntax=vb]Sub PobierzDzisiejszeDane() Application.ScreenUpdating = False Dim Sciezka As String, Plik As String Sciezka = ThisWorkbook.Path p = Date & ".xlsx" Plik = Sciezka & "\Dane\" & p If Dir(Plik) = "" Then MsgBox "Brak pliku z dzisiejszą datą." Exit Sub End If Workbooks.Open Filename:=Plik Sheets("Dzisiejsze dane").Select ow = Cells(Rows.Count,...
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...
Ostatni wiersz i ostatnią kolumnę trzeba określić osobno dla każdego arkusza źródłowego. Ale można wykorzystać te same zmienne, bo raz użyte dane nie będą już więcej potrzebne. Coś takiego: [syntax=vbscript]Dim Workbook1 As Workbook Dim lRow As Long Dim lCol As Long With Workbook1 With .Sheets("A") lRow = .Cells(Rows.Count, 1).End.(xlUp).Row lCol =...
Takie proste makro powinno załatwić sprawę: [syntax=vb]Application.ScreenUpdating = False Set wssuma = Worksheets("Suma") ost_wiersz_sumy = wssuma.Cells(wssuma.Rows.Count, 1).End(xlUp).Row For i = 2 To ost_wiersz_sumy With Worksheets(wssuma.Cells(i, 1).Value) ost_wiersz_arkusza = .Cells(.Rows.Count, 2).End(xlUp).Row .Range("B" & ost_wiersz_arkusza +...
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
"Zabawa" ciągami się kłania.
Wygląda na to że bez zmian dla przykładu jeden wiersz a arkuszu Arka w którym sformatowałem ceny kolorem czerwonym: Sam chciałeś W nagranym przeze mnie makrze takie wklejanie daje taką linijkę kodu: Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats Niestety nie wiem czy można ja dopisać do Twojego makra. Niestety nie potrafię z kodu wychwycić...
Poprawiłem nieco makra, nie zrobiłem więcej bo działanie aplikacji jest dla nie niezrozumiałe. Proszę jeszcze raz dokładnie opisać co ma się wyświetlać w UserForm i co później ma się skopiować.
Nie da się tak jak chcesz. Jeżeli chcesz skrócić klikanie wyciągnij przycisk autofiltru na pasek menu. (poprzez dostosuj - wyrobekj tylko że grupa Dane i Autofiltr]) Wtedy po skopiowaniu i wklejeniu danych masz je od razu zaznaczone więc wystarczy kliknąć tylko w przycisk i już masz autoflitr.
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.
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"),...
Pożądany efekt aktualizacji tabeli w arkuszu "3" 961000 można uzyskać poprzez makro aktualizujące (odświeżanie danych skrótem ctrl + a :D ) z zastosowanie pętli typu: 961004
No tak to jest, gdy poprawka dotyczy fragmentu wyrwanego "ze środka" ;) W załączniku uproszczony przykład kopiowania w ukrytym arkuszu ("Arkusz1"). -odkryj -popatrz -ukryj -naciśnij przycisk -odkryj i zobacz co się narobiło
[syntax=vbscript] Sub przenies() Dim Zest As Worksheet, Dest As Worksheet, Ark As Worksheet Dim i&, j&, w&, wd& Set Zest = ThisWorkbook.Sheets("Zestawienie") w = Zest.UsedRange.Rows.Count Application.ScreenUpdating = False For i = 2 To w j = 0 For Each Ark In Worksheets If Ark.Name = Zest.Cells(i, 6) Then j = 1 Next Ark If j = 0 Then...
.. 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]
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)
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
Wyszło mi coś takiego[syntax=vb]Sub Pobierz() Dim nazwa As String Dim ark As Worksheet Dim wrs As Long, j As Integer, i As Long nazwa = "Arkusz2" 'nazwa arkusza docelowego 'tutaj 2 dla porównania z 1 ThisWorkbook.Activate 'gdyby nie był Sheets(nazwa).Range("A2:H65536").ClearCo... 'czyścimy wrs = 2 '1-szy wiersz docelowy j = 3 '1-sza kolumna źródłowa...
No to pewnie arkusz "XXX" & Cells(Y, "B") nie istnieje. Stojąc mniej więcej tam napisz w oknie poleceń (Immediate, jak nie mam to sobie włącz: View, Immediate Window) coś takiego: ? "XXX" & Cells(Y, "B") Napisałem, że muszą być przygotowane wszystkie potrzebne arkusze z nagłówkami, makro ich nie tworzy.
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ą...
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ć.
Ma ktoś pomysł jak się za to zabrać? Można wykorzystać szablon typu :arrow: [url=https://www.elektroda.pl/rtvforum/v... , a makro wykorzystać jedynie do kopiowania kolejnych arkuszy "miesięcznych" :idea:
[syntax=vbscript]Sub Kolumny() y = 9 For x = 1 To Sheets.Count ow = Sheets(x).Cells(Rows.Count, "I").End(xlUp).Row If Sheets(x).Name <> "Oferta" Then Sheets(x).Range("I1:I" & ow).Copy Sheets("Oferta").Cells(1, y) Sheets(x).Range("J1:J" & ow).Copy Sheets("Oferta").Cells(1, y + 1) Sheets(x).Range("K1:K" & ow).Copy Sheets("Oferta").Cells(1,...
Na przykład tak:[syntax=vb]Range("A2:A" & Rows.Count).ClearContents i = 2 For Each ws In Worksheets If ws.Name <> ActiveSheet.Name Then Cells(i, "A").Value = ws.Range("B2").Value i = i + 1 End If Next ws[/syntax]
Użyj WYSZUKAJ.PIONOWO()
Moim skromnym zdaniem ostatni dodany arkusz ma najwyższy indeks (nazwę tylko nie tę widoczną w Excelu pod arkuszem) Ustalić go można prosto korzystając z: [syntax=vbscript]OstArk = ActiveWorkbook.Sheets.Count[/syntax] skopiować na koniec: [syntax=vbscript]Sheets(OstArk).Copy After:=Sheets(OstArk)[/syntax] i ostatni krok ze zmianą nazwy: [syntax=vbscript]...
[syntax=vbscript]Sub ImportujMaszyny() Set r = Sheets("Arkusz1") Set i = Sheets(2) owr = r.Cells(Rows.Count, "A").End(xlUp).Row owi = r.Cells(Rows.Count, "A").End(xlUp).Row For w = 4 To owr Step 14 nr = r.Cells(w, 2) s = Application.Match(nr, i.Range("C1:C" & owi), 0) If s > 0 Then d = i.Cells(s + 1, 3) d = DateSerial(Year(d), Month(d), 1) wr = Application.Match(nr,...
Odwróciłbym to: makro realizujące aktywację wskazanego arkusza w wybranym skoroszycie i zawierające polecenie copy , przypisane do dowolnej (nie wykorzystywanej domyślnie w Excelu) kombinacji klawiszy, lub uruchamiane zdarzeniem arkusza Np dwuklik... Schowek w Excelu jest obiektem, do którego należałby się odwołać. Natomiast uruchamianie makra kombinacją...
Trochę Cię okłamałem To nie kłam na przyszłość. Mama nie uczyła?;) A w takiej sytuacji umieść arkusz 'Zbiorczy', jako ostatni na liście arkuszy. P.S. Próbowałeś uruchomić to makro? Zapewne nie...
Jeżeli zdefiniuje nazwę danych to przy ich kopiowaniu, nazwa arkusza nie ma znaczenia. Przykład: jeden arkusz nazywam x a drugi y. Warkuszu x wprowadzam dane a analogiczne pojawiaja się w arkuszu y. Definiuje nazwe zakresu danych (nie B:B ) tylko np. dane1 a w arkuszu y wprowadzam formułke: odwołanie.xls!dane1. Przykład w załaczniku
Witam wszystkich Mam problem z małym kodem vba do kopiowania arkuszy w tym samym pliku. Posiadam arkusz Szablon. Po jego uzupełnieniu przy kliknięciu na button chciał bym, żeby cały arkusz Szablon kopiował się do nowego arkusza, którego nazwa będzie podana w komórce P1 (jest to nazwa miesiąca). Próbowałem kilku sposobów, ale nie chciało mi skopiować...
Pan pisal = formuły liczące znajdują się od komórki AO11 do GG5000 = może to malo być "do DD5000", bo dalej jest całkowicie pusty Jest to cała masa formuł, początkowo próbował do iterować tylko formuły - zabiera zbyt dużo czasu. Ale jeśli przyjmujemy pewne ograniczenia, to sprawa może być. ale to jutro na nową głowę. jeden więcej rzeczy zaufanie, że...
Sheets("DATA ENTRY " & s)
Najpierw sprawdź jaki masz arkusz normowy w interesującym cię projekcie: opcje>projekty>nazwa_twojego_projektu>za... arkusz normowy - tu sprawdzisz ścieżkę do arkusza, którego kopię będziesz robił potem programy narzędziowe>dane zasadnicze>arkusz normowy>kopiuj wybierz arkusz normowy i nadaj nazwę jego kopii kopia się otworzy...
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.
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...
[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]
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....
Range("A5").Copy Sheets("arkusz2").Range("c" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Lepiej opisz konkretne zadanie które ma ten arkusz wykonywać bo może to się da załatwić lepiej. Chodzi o wybranie jakichś konkretnych danych spełniających określony warunek? To można zrobić np. przy pomocy tabeli przestawnej.
Makra włączone? Może problem z nazwa/indeks. Spróbuj Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo byk If Target.Column = 1 Then Sheets(Trim(Str(Target.Row... = Target.Value End If Exit Sub byk: If Target.Value <> "" Then MsgBox "Brak arkusza o...
Zrobiłby to w ten sposób: (dopisz formuły w szarze komorki)
Takie automatyczne kopiowanie możliwe jest tylko poprzez VBA :D Proponuję wykorzystać dla arkusza 1 i 2 prywatne procedury wywoływane zdarzeniami zmian odpowiednio w kolumnie X i L. Przykładowe rozwiązanie w załączonym pliku xlsm :spoko: 864181
[syntax=vb]Sub Wklej() sh = ActiveSheet.Name Sheets("Baza").Select Range("A1:D1").Select Selection.Copy Sheets(sh).Select nw = Cells(Rows.Count, "A").End(xlUp).Row + 1 Cells(nw, 1).Select ActiveSheet.Paste End Sub[/syntax] Kombinuj...
Dołączam arkusz bo już mi się pomysły kończą. Przecież Ci napisałem, co masz zrobić. Zamień format znaków w kolumnie A i E na liczbowy. W załączniku Twój działający arkusz.
Hej! Czy spotkał się ktoś może z problemem przenoszenia/kopiowania arkuszy. Mam kilka arkuszy, które tworzone są na podstawie jednego wzoru. Jeden z nich kopiują się szybko a inne bardzo długo - do godziny. Zdiagnozowałam problem w kilku komórkach ( również bardzo długo się kopiują). W niektórych są listy wyboru lub formuły, a w jednej tylko tekst....
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]
rozumiem że to tylko część makra? Oczywiście, to tylko fragment kodu, który wykonuje jedynie to co napisałem wyskoczy okienko, w którym będzie można wybrać pliki excela z dysku komputera Po wyborze konkretnego pliku :D możesz kopiować całe arkusze lub wybrane dane do swego pliku zbiorczego. Ta część makra uzależniona jest od specyfiki plików źródłowych...
domyślnie kopiując zaznaczone komórki i wklejając do edytora tekstowego wartości odzielone są TABem :?: :not: Typowe ustawienia :idea: przy kopiowaniu komórek arkusza 965302 i wklejaniu do edytora tekstowego 965305 wartości rozdzielane są "powrotem karetki" CR i "przesunięciem linii" LF :D
Witaj. Sprawdź załącznik. Checboxy zastąpione czymkolwiek w kolumnie (może być X, może być cokolwiek poza pustym polem). Poprawność stawiania xów czy innych jest sprawdzana na bieżąco, więc jeśli spróbujesz postawić iksy dla dwóch różnych zamówień to wyjdzie błąd już w momencie stawiania. Nie jestem pewien, po co numer wiersza, wystarczy że masz w tabeli...
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...
Cześć, Chciałbym utworzyć makro które skopiowaloby wybrane arkusze np 4 arkusze o konkretnej nazwie (kopiowanie wartości i formatu z całego arkusza) do nowo utworzonego pliku o określonej ścieżce (this.workbook.path & ”/” ) i o nazwie w komórce C11 z akrusza o nazwie “informacje”. Z góry dzięki za pomoc ! Rafał
Witam Tu masz odpowiedź http://www.elektroda.pl/rtvforum/topic31... wystarczy zmienić "linijkę"
Witam zacne grono, jak z formułami sobie radzę tak już z makrami bywa kiepsko jeśli by mógł mi ktoś pomóc byłbym wdzięczny: Mam skoroszyt w excelu a w nim 21 arkuszy kalkulacyjnych nazwy od 1 do 20 i ostatni dane , potrzebuję makro które wywołane za pomocą skrótu klawiszowego przeniesie dane z komórek A1:A4 B1:B4 z arkusza w którym jestem do arkusza...
Koledzy dobrze radzą, ale to trzeba wdrażać od początku projektu. Więc na przyszłość trzeba to zaplanować inaczej. Tymczasem jednak potrzebne jest rozwiązanie doraźne, polegające na kopiowaniu tego co jest. Na razie to jest ilość danych, z którą Excel sobie poradzi, ale jak danych będzie przybywać, to kopiowanie będzie trwało coraz dłużej. Ponieważ...
kopiowanie arkuszy łączenie kilku arkuszy sumowanie kilku arkuszy
ominąć proxy hoover usterki husqvarna kosiarki
samsung zwarcie matrycy telewizor części
Kod błędu 255 w Iveco Daily 3.0 2011 - DPF i SCR Przestrojenie Panasonic RX-CT900 na europejski FM