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))...
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,...
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...
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 ...
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].
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) <>...
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
było by super Co było by? Testowalem Twój kod na XL2007 i XL2003 (inne nie mam) - wszystko dziala poprawnie
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=vbscript]Sheets("2").Range("C1")... = vbRed[/syntax]
[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]
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,...
Po zakończeniu kopiowania nie jest zwracania na pierwszy arkusz
To naprawdę prosta sprawa. Przeanalizuj dostosuj do własnych potrzeb.
Zobacz takie rozwiązanie.
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...
Witaj Dodano po 9 albo w arkusz X column B =JEŻELI(LICZ.JEŻELI(Y!A:A;A1)>0;WYSZUKAJ...
[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
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]
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. ?
:) 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"...
ż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...
[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]
Do powielania arkuszy i adaptacji formuł możesz wykorzystać makro z załączonego pliku :D - zaczyna pracę dopiero od arkusza 2.2 :!: i działa w ten sposób, że po wybraniu 1 arkusza w skoroszycie (tj. o najwyższej numeracji w nazwie :D ) - poprzez dwuklik myszką w ten arkusz - automatycznie kopiuje arkusz i ustawia nową nazwę i podmienia formuły :spoko:...
https://obrazki.elektroda.pl/9936064400_...
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...
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...
[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]
[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]
Witam. Nie wiem dlaczego tam jest Klasa i tekstowe pole, aby wykonać tyle listy
zrób np. tak (wstawi ci na koncu) [syntax=vb]ActiveSheet.Copy After:=Workbooks("wczyt.xlsm").Sheets(Sh...
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 =...
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?
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....
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)
:) 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()...
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...
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...
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...
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.
"Zabawa" ciągami się kłania.
Tak, oczywiście jest możliwe. Najprościej używając funkcji Dir w pętli Do Until , jednocześnie zmieniając nazwy kopiowanym arkuszom wg. aktualnie otwartego, pliku źródłowego.
Użyj WYSZUKAJ.PIONOWO()
FileDialog ma wiele właściwości. Np: . InitialFileName = Environ("HOMEPATH") & "\Desktop\"
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.
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ąć...
[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...
.. 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]
[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]
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
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
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ć.
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...
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ć...
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...
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...
[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...
Trzeba dopisać lub zmienić warunek... Makra, z wyjątkiem procedur zdarzeniowych, umieszcza się w modułach.
Dzięki. Już mam. Zamykam temat
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
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)
Może trochę więcej kodu pokażesz? Pokazuję. :-) [syntax=vbscript]Sub plikDoImportu() Application.ScreenUpdating = False On Error Resume Next Dim zakres As Range Dim kierowca As String, akronim As String, sciezka As String, nazwaPliku As String Dim arkImport As Worksheet, arkNowy As Worksheet Dim wiersz As Long, licznik As Long Set arkImport = Sheets("Import")...
[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,...
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 +...
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...
Dokładnie tak obrazy będą w konkretnym katalogu a zmiana ma następować po zmianie wartości w komórce.
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
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)
Sheets("DATA ENTRY " & s)
Range("A5").Copy Sheets("arkusz2").Range("c" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
[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...
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...
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.
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...
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.
[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]
Witam Tu masz odpowiedź http://www.elektroda.pl/rtvforum/topic31... wystarczy zmienić "linijkę"
Witam serdecznie, zaczynam dopiero zabawę z makrami w Excelu i potrzebuję pomocy. Chcę napisać makro, które: - otworzy wskazany przez użytkownika plik (nie jest znana jego nazwa i ścieżka więc potrzebuję aby pojawiało się okno wyboru pliku) - to jest w help excela) (np.: PLIK1.xls) - następnie skopiuje wybrane arkusze (nazwa arkuszy się nie zmienia,...
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.
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...
Zrobiłby to w ten sposób: (dopisz formuły w szarze komorki)
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"),...
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...
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 DoBazy() kol = Application.Match([C3], Sheets("Baza").Range("A1:GR1"), 0) If Not IsError(kol) Then For i = 1 To 260 Worksheets("Baza").Cells(i, kol) = Worksheets("DoBazy").Cells(i, 3) Next i MsgBox ("Dane dla daty " & [C3] & " zostały skopiowane") Else MsgBox "Brak danych." End If End Sub [/syntax]
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ą...
Jeśli makro, następnie tak
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...
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...
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
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ż...
Dzień dobry, Opis dość nieprecyzyjny, nie wiadomo czy listy są tej samej długości, gdzie miałyby być kopiowane po wpisaniu nazwy, i gdzie ta nazwa ma być. Spróbuję coś napisać ogólnie. To rozwiązanie dotyczy Excela w którym pracuję na co dzień, myślę że w OpenOffice można stosować podobne rozwiązania. Jeśli kolumny mają nagłówki dogodnie byłoby nadać...
ActiveSheet.Range("A2:E300").Copy Destination:=.Cells(LastRow + 1, 1) Podmień na [syntax=vbscript] ActiveSheet.Range("A2:E300").Copy .Cells(LastRow + 1, 1).PasteSpecial xlValues Application.CutCopyMode = False[/syntax]
makro kopiowanie arkusza kopiowanie aktywnego arkusza kopiowanie danych arkusza
sprzedam uszkodzone telefony tworzenie stron internetowych intel 4965agn
pasma lotniczego bateria hilti
Regulacja prawego lusterka nie działa w Ford C-Max 1.6 benzyna 2014 Jak ustawić siłę sygnału w telewizorze Samsung?