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...
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))...
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) <>...
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 ...
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.
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]
Po zakończeniu kopiowania nie jest zwracania na pierwszy arkusz
[syntax=vbscript]Sheets("2").Range("C1")... = vbRed[/syntax]
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...
[syntax=vb] For i = LBound(Zrodla) To UBound(Zrodla) Worksheets("txt").Range(Cele(i)) = Worksheets("oferta").Range(Zrodla(i)).Va... Next i [/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. ?
ż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...
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]
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]
:) 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"...
Witaj Dodano po 9 albo w arkusz X column B =JEŻELI(LICZ.JEŻELI(Y!A:A;A1)>0;WYSZUKAJ...
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?
https://obrazki.elektroda.pl/9936064400_...
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:...
[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 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]
Dziękuję bardzo za pomoc. Niestety mam 6 plików, po 400 arkuszy każdy i w tym tylko z niektórymi jest problem - ale nie wiadomo z którymi. Czy jest jakiś sposób na rozpoznanie, że to ten arkusz ma zaszyte jakieś dodatki? :-?
Nie robiłeś dokładnie "tak", bo w kodzie masz After:=Workbooks("wczyt.xlsm"), co jest składniowo bez sensu: "wstaw nowy arkusz za plik wczyt.xlsm". Ja tylko dodam, że składnia [syntax=vb]ActiveSheet.Copy After:=Workbooks("wczyt.xlsm").Sheets(Sh... nie zadziała jak trzeba, bo po otwarciu pliku, jak w przykładzie, aktywnym jest nowootwarty...
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...
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...
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...
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.
[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...
:) 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()...
Trzeba dopisać lub zmienić warunek... Makra, z wyjątkiem procedur zdarzeniowych, umieszcza się w modułach.
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?
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)
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...
FileDialog ma wiele właściwości. Np: . InitialFileName = Environ("HOMEPATH") & "\Desktop\"
A może wykonać kopię całego skoroszytu? Wtedy autofiltr zostanie. Najeżdża się na dół skoroszytu gdzie są nazwy arkuszy, najeżdża się myszką na arkusz który należy przekopiować, wciska się prawy guzik myszy, wybiera się opcję "przenieś albo kopiuj" i zaznacza się okienko opcji "kopiuj". Wtedy autofiltr pozostanie.
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]
"Zabawa" ciągami się kłania.
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
Dzięki. Już mam. Zamykam temat
[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]
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ć...
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ąć...
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ć.
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...
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.
[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]
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
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"),...
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")...
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)
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 +...
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 =...
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
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 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...
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.
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ć.
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]
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....
[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,...
Witam Tu masz odpowiedź http://www.elektroda.pl/rtvforum/topic31... wystarczy zmienić "linijkę"
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
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...
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...
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 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,...
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...
Użyj WYSZUKAJ.PIONOWO()
Ale że jak? Jak masz n (ciągła numeracja?) arkuszy to dla każdego 1..n-1 to wykonać? Jedną komórkę czy wiele? Z R2 do R1, czyli wiersz do góry? Samo kopiowanie komórki jest proste z wykorzystaniem zapisu proponowanego przez JVR: Sheets("DATA ENTRY " & s+1).Cells(y,x).value=Sheets("DATA ENTRY " & s).Cells(y,x).value Dołóż do tego odpowiednie pętle i...
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 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,...
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
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ą...
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ż...
Moje własne próby też nie przyniosły pożądanych rezultatów. Proszę przedstawić. Można porównać do pętli wykorzystanych w http://obrazki.elektroda.pl/8966955000_1... dostosować do sytuacji, dopisać instrukcję warunkową i... gotowe. Proszę zapoznać się z • Pytania dotyczące zagadnień związanych z pakietem Office, Open Office i tym...
Przy założeniu, że arkusz składa się z nazwy stałej i daty, najprostsze makro wygląda mniej-więcej tak: nazwa_stala wpisz swój stały fragment nazwy. Dopisz sobie dodatkowe warunki które będą uwzględniały np. kilkukrotne uruchomienie makra tego samego dnia itp. aby nie wyskakiwały błędy
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...
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ć...
Range("A5").Copy Sheets("arkusz2").Range("c" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
hej zobacz teraz
Jaką regułę zastosować, żeby w programie Excel dane z jednego arkusza kopiowały się do drugiego arkusza automatycznie. Dodano po 3 (at)ElektrodaBot Jaką regułę zastosować, żeby w programie Excel dane z jednego arkusza kopiowały się do drugiego arkusza automatycznie ?
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.
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ą...
A tak trochę od siebie, nie łaska? [syntax=vb]Sub Polacz() Application.ScreenUpdating = False Zeszyt = ActiveWorkbook.Name sciezka = "C:\PlikiExcela\PlikDoImportu.xls" Workbooks.Open Filename:=sciezka Plik = Mid(sciezka, InStrRev(sciezka, "\") + 1) For x = 1 To Sheets.Count Windows(Plik).Activate Sheets(x).Select Range("A1:F1").Select Selection.Copy...
kopiowanie zmiennych arkuszy kopiowanie arkuszy nazwą kopiowanie kilku arkuszy
technik elektryk programować skaner uniden minolta komunikat tonera
częstotliwości tetra protokół serwisowy
Dekoder DVB-T2 HEVC – Ferguson T40, Tesera AT3, New Digital T2 007 – odbiór TV naziemnej, kompatybilność, funkcje Samsung UE55MU6172 błąd 2014506-1 – zablokowane konto, akceptacja warunków Smart Hub, naprawa kodu błędu