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.
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 ;)
[syntax=vbscript]For y = 1 To ile - 1[/syntax]
Właśnie to pozwoliłem sobie zmienić w przesłanym przykładzie w makrze kolegi adamas_nt Wpisz zamiast ostatniWiersz = 100 to ostatniWiersz = Sheets("Arkusz1").Cell... 1).End(xlDown).Row Wtedy makro samo policzy ile jest wierszy i będzie się wykonywało tylko do ostatniego wiersza. Warunek dane w kolumnie...
Makro poniżej przesuwa nazwiska w prawo o wartość numeru grupy+1, a następnie usuwa puste komórki w obszarze danych. Nazwiska nie są posortowane. Jeżeli jest potrzeba. sortowania to na początku makra dopisać sortowanie.[syntax=vbscript]Sub Przepisz_Nazwiska() Dim Tab_Opis As Variant With ActiveSheet Tab_Opis = Array("Grupa 1", "Grupa 2", "Grupa 3",...
Tak jak napisałem wcześniej wystarczy wszystko przeciągnąć/skopiować ...
otwierał nowego Excela nowe wystąpienie programu Excel, lub nowy skoroszyt? Myslim ze skoroszyt:[syntax=vb]Sub kopie20() Dim nw As Worksheet Dim my As Range Set my = Workbooks("Truck.xls").Sheets("Aero") s = 0: k = 1 For n = 1 To my.Cells(65536, "P").End(xlUp).Row s = s + my.Cells(n, "p") If s + my.Cells(n + 1, "p") > 20 Or my.Cells(n + 1, "p") = ""...
Jeśli dobrze rozumiem, to tak:
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...
Zmienit 'For i = 0 To nrep - 1' na 'For i = 1 To nrep - 1'
[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=vbscript]Sub Kopiuj() Set a = Sheets("Arkusz1") owa = a.Cells(Rows.Count, "B").End(xlUp).Row Sheets("Arkusz3").Select ow = Cells(Rows.Count, "B").End(xlUp).Row y = 2 For x = 2 To ow s = Application.Match(Cells(x, 2), a.Range("B1:B" & owa), 0) If Not IsError(s) Then a.Rows(s).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub...
[syntax=vbscript]Sub NowaKolumna() nk = Cells(60, Columns.Count).End(xlToLeft).Column + 1 Range("H60:H80").Copy Cells(60, nk) Application.CutCopyMode = False End Sub [/syntax]
Ma ktoś jakiś pomysł? Teraz chyba będzie jasne :) https://obrazki.elektroda.pl/1782827600_...
W przyszłości nie trzeba pisać skoroszyt zamiast arkusz(z określonymi numerami) Skoroszyt to jest plik(w każdym razie tak to było do tej pory). Ponieważ nie wiadomo, czy te same struktury arkuszy, liczbę wierszy i kolumn, kopiowanie, możesz zrobić tak: [syntax=vb] Sub kopie() 'makro w pliku(skoroszycie) A, plik B jest otwarty 'kolejne 3 linie dopasuj...
Brakuje chyba jeszcze jednej pętli zmieniającej kod sklepu. Hmm, raczej: na pewno ;) Spróbuj[syntax=vb]Sub asd() Dim wiersz, nr, ilosc As Integer Dim ostWrs As Long, w As Long, ile As Integer ostWrs = Range("B65536").End(xlUp).Row wiersz = 1 Range("C1:D1500").Clear For w = 1 To ostWrs nr = Cells(w, 1) ilosc = Cells(w, 2) For ile = 1 To ilosc Cells(wiersz,...
Brak załącznika to poważny mankament! Nie wiadomo, jakie dane są w kolumnie "O". W kodzie PRL jest sprawdzany warunek: [syntax=vbscript]Sheets(x).Cells(y, "O") >= -30[/syntax]Otóż warunek ten spełniają nie tylko liczby >= -30, ale również puste komórki, dowolne teksty, w tym teksty puste, wartości logiczne. A jeśli w komórce jest wartość błędu, to program...
A nie możesz wyniki przenieść na drugi arkusz? Wtedy tylko zmieniasz formułę: =LEWY(Arkusz1!A1;2) =PRAWY(Arkusz1!A1;DŁ(Arkusz1!A1&... Czy musisz na tym samym arkuszu kategorycznie pozostać? EDIT: Zrobiłem specjalnie dla Ciebie makro ;) [syntax=vb]Sub Prostokąt1_Kliknięcie() koniec = Range("A1").End(xlDown).Row Application.ScreenUpdating...
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.
Spróbuj to [syntax=vb] Sub Porzadkuj() x = InputBox("Podaj datu", "Data przyporziadkowania", Date) If Not IsDate(x) Then Exit Sub x = DateValue(x) Dim nazwy As Range, d As Range With Sheets("pivot") Set nazwy = .Rows(3) Set d = .Cells.Find(x, LookIn:=xlValues) If d Is Nothing Then Exit Sub Set d = d.EntireRow.Cells For Each sh In ThisWorkbook.Sheets...
Przyczyną błędu jest tylko to, co napisał adams_nt : powinna być deklaracja typu jak poniżej: Ewentualnie program mógł by sprawdzić czy akrusz B jest otwarty, jeżeli jest nie otwierać go ponownie a jeżeli jest zamknięty otworzyć go. Założyłeś, że Twoje makro będzie kopiować z pliku B.xls aktualnie zaznaczony wiersz - ono nie otwiera pliku [ponownie]....
[syntax=vbscript]Sub Kopiuj() Set a = ActiveWorkbook i = Application.FileDialog(msoFileDialogOpen... s = Application.FileDialog(msoFileDialogOpen... Set b = Workbooks.Open(s) a.Sheets(1).Range("K20:M23").Copy b.Sheets(1).Range("K20") b.Close True End Sub [/syntax]
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...
Dlaczego nie załączyłeś pliku? Przecież na obrazku niczego nie można sprawdzić. Podejrzewam, że linie obramowania, które Ci się nie kopiują są przypisane do sąsiednich komórek. Ramka rozdziela komórki, ale nie musi być przypisana do obu, może być przypisana tylko do jednej z nich. Wtedy przy kopiowaniu trzeba zadbać o to by obramowania były przypisane...
Z arkusza1 robię raporty w osobnych arkuszach Efekt taki jak na zrzucie 1041538 automatycznego kopiowania wyfiltrowanych danych z arkusza1 do kilku arkuszy :idea: (z nazwami arkuszy wg filtrowanych danych :D ) można zrealizować przykładowo tak jak w załączonym pliku. 1041541 Makro można uruchomić skrótem klawiaturowym ctrl+r :!: , dla dowolnej (jeśli...
Zacznij z petli For Each c In Sheets(1).Cells.SpecialCells(xlCellTypeA...
Rozumiem, że arkusz z danymi do kopiowania jest w osobnym pliku.
to makro do "zabawy" Dodano po 2 jeszcze dwie wersje.... Pierwsza ile_wierszy, to może być niemal dowolna liczba sprawdzonych wierszy , można wpisać nawet tyle ile wierszy ma cała kolumna (zależy od wersji Excela) Chodzi o to by nie sprawdzać całej kolumny bo to może potrwać.... Skopiowane zostaną tylko niepuste komórki. [syntax=vba] Sub copy_cells()...
Spoko, mogło by wyglądać tak: Sub Makro1() Dim temp As Variant Dim wiersz As Long wiersz = 1 Do While Cells(wiersz, 8) <> "" If Cells(wiersz, 8).Value = 0 Then Cells(wiersz, 10).Cut Destination:=Cells(wiersz, 15) wiersz = wiersz + 1 Loop End Sub Dodano po 2 jaszcze taka uwaga makro działa poprawnie do pierwszej pustej komórki w kolumnie przeszukiwanej
Nigdy nie programowałem w VBA, ale znalazłem takie coś, może okaże się pomocne. Jeżeli nie to poszukaj w sieci pod hasłami "vba copy rows" i podobnymi, pojawia się sporo wyników. The example codes will copy to a database sheet with the name Sheet2. Every time you run one of the subs the cells will be placed below the last row with data or after the...
Musisz wpisać większą treść wiadomości przed wysłaniem. W przypadku wysyłania plików opisz szczegółowo plik w treści wiadomości. Niech Gulson coś w końcu z tym zrobi.
Skoro Kolega chce VBA, to proszę. Kod dla modułu 'Arkusz3': [syntax=vb]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 2 And Target.Column = 2 Then If Target.Cells = "XYZ" Then Call Kopiuj End If End Sub[/syntax] Kod modułu skoroszytu: [syntax=vb]Sub Kopiuj() s = Sheets("Arkusz3").Range("B2") Sheets("Arkusz1").Select ow = Cells(Rows.Count,...
Może tak: [syntax=vbscript]Sub Kopiuj() Dim i&, Ow& Application.ScreenUpdating = False Ow = Cells(Rows.Count, "A").End(xlUp).Row For i = 8 To Ow Step 5 Range("A" & i).Copy Range("A" & i + 3, "A" & i + 4) Next End Sub [/syntax] andie
Możesz sobie dostosować makro z załącznika.
[syntax=vbnet]Sub Makro1() Set toskopiowac = Selection.EntireRow Range(toskopiowac.Offset(1, 0), toskopiowac.Offset(Selection.Value - 1, 0)).EntireRow.Select Selection.Insert Selection.EntireRow = toskopiowac.Value End Sub[/syntax]
W wolnej chwili wyklikałem na klawiaturze kilka linijek. Wydaje mi się, że wygodniej będzie Ci przystosować mój krótki kod. [syntax=vb]Sub Podziel() Dim a As String, a1 As Worksheet Set a1 = Sheets("Arkusz1") ow = Cells(Rows.Count, "D").End(xlUp).Row f = True Sheets("Arkusz1").Select For x = 5 To ow a = a1.Cells(x, 16) If f Then y = x f = False End...
1. Załóż filtr w oryginalnej tabeli (niepuste) -> zaznacz całą tabelę i wtedy dopiero kopiuj dane . Może nawet lepiej wklejać "tylko wartości" niż dane z pełnym formatem każdej kopiowanej komórki. Zrobisz to w jednym ruchu zamiast korzystać z pętli (2000 razy). Po nagraniu makra można edytować zaznaczony zakres tak, żeby najlepiej nam odpowiadał. 2....
Przetestuj załączone rozwiązanie. Przed uruchomieniem należy: - Plik csv nazwać: "dane.csv" - Załączony skoroszyt zapisać w folderze, w którym znajduje się plik "dane.csv" U mnie cała procedura wykonuje się ok. 1 min. pozdrawiam andie
Trochę nieścisłości jest w tym Twoim opisie. Piszesz, że w kolumnie E arkusza Brudnopis po wyczerpaniu nazwisk będą błędy #N/D. Tymczasem w pliku przykładowym są puste teksty. To jak w istocie będzie? W załączonym kodzie są uwzględnione oba warianty. Gdy już się zdecydujesz jak ma być, możesz sobie ten kod troszkę uprościć. W sprawie tworzenia nowego...
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...
Dodaj Swoja sciezka w Dir, jak w post #1 Dodano po 4 lub przed wlanczeniem makra zrob "Plik - Otworz" wejdz w folder z plikami - "Esc"(Odmiana)
Zerknij do załącznika. Plik zawiera makro.
ma nadzieję że zrozumiale jest napisane Niezupełnie. po zliczeniu wszystkich wartości z kol. H ( arkusz1) Chyba chodziło o Arkusz2, a Arkusz1 jest skoroszytem, w którym ma być podsumowanie (?) Założyłem, że nazwy i stawki VAT będą wprowadzone w arkuszu1. Przetestuj takie makro. [syntax=vbscript]Sub Podsumuj() Dim A1 As Worksheet: Set A1 = Workbooks("Arkusz1").Sheets("dok...
A czy jest możliwość stworzenia makra, które po kliknięciu przycisku stworzy automatycznie arkusze dla wszystkich osób (i nada nazwy takie jak w pierwszej kolumnie tabeli tj. nazwisko i imię), a jeśli arkusz dla danych osób już istnieje, to je pominie. Można np tak: 968207
Spróbuj [syntax=vb]For Each kom2 In Sheets("Arkusz2").Range("A1:A500") If kom2 <> Empty Then For Each kom1 In Sheets("Arkusz1").Range("A1:A500") If kom1.Value = kom2.Value Then kom2.Offset(0, 13) = kom1.Offset(0, 13) kom2.Offset(0, 14) = kom1.Offset(0, 14) Exit For End If Next End If Next[/syntax]
[syntax=vbscript]Sub Zawiera() Sheets("Arkusz1").Select a = InputBox("Podaj tekst do szukania: ", "Wyszukaj") ow = Cells(Rows.Count, "A").End(xlUp).Row y = 1 For x = 1 To ow If InStr(1, Cells(x, 2), a) > 0 Then Range(Cells(x, 1), Cells(x, 2)).Copy Sheets("Arkusz2").Range("A" & y) y = y + 1 End If Next End Sub [/syntax] Poniżej bez rozróżniania wielkości...
Poproś kogoś innego.
Zamień [syntax=vb]ActiveSheet.Paste [/syntax] na [syntax=vb]ActiveSheet.PasteSpecial Paste:=xlPasteValues[/syntax]
Chce jakiś przykład Analizowałeś przykład z linka? Otwiera plik, szuka tekst i kopiuje. nie znam hasła Ja chyba też nie znam hasła do Twojego pliku.
Teraz możemy to przeanalizować: Makro "Save" wywołuje procedurę "kopiuj_wartości" z trzema parametrami: co kopiować, Nr wiersza docelowego określonego w pętli Do (ostatni niepusty w kol "C" arkusza "REPORT") i Nr kolumny docelowej. Jeżeli chcesz wykorzystać je w tej formie, to docelowy plik (NN.xls) musi zawierać arkusz o tej nazwie (REPORT). Linię...
Witaj Sub ddd() Dim OstW As Long Dim kom As Excel.Range Application.ScreenUpdating = False With Sheets("Arkusz1") OstW = .Cells(Rows.Count, "F").End(xlUp).Row For Each kom In .Range("F4:F" & OstW) If kom.Value = "tak" Then Range("B" & kom.Row).Copy...
Cześć, mam taki problem. Chciałabym zarejestrować makro, które będzie kopiowało komórkę i przenosiło do innego arkusza. Jednak wartości tej komórki będą się zmieniać, a jak rejestruje zwyczajnie kopiując i wklejając, to potem makro wkleja mi tę wartość, którą skopiowałam przy rejestracji, zamiast nowej, która pojawiła się w tej komórce kopiowanej. Proszę...
Ręce opadają :) To co Ty właściwie chcesz zrobić? ale jeśli dane są pobierane z internetu Dane z internetu wprowadzaj od razu do "z góry upatrzonego" zakresu. lub np z innej komórki Oprogramuj tą "inną komórkę"... Co to znaczy "z automatu"? Żeby coś się zmieniło w arkuszu, najpierw musi się coś wydarzyć.
a co masz na myśli mówiąc "...podstawiać formuły w osobnej pętli"? Wstaw kolumny, wpisz ręcznie formuły sumowania i przepisz argumenty do makra. Po zakończeniu pętli wstawiającej kolumny i nagłówki (usuń linię z wstawianiem sum), dopisz następną wpisującą tylko formuły.
Najpierw makro, które wstawi przecinki.
No działa, ale tak nie prościej? [syntax=vbnet] Sub Kopiuj(Dst As Range) Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Copy Destination:=Dst End Sub Sub TestKopiowania() Kopiuj (Sheets(3).Range("A" & Rows.Count).End(xlUp).Offset(1, 0)) End Sub [/syntax]
Witam ponownie Dzisiaj proszę o pomoc w zwiazku z tematem, który czesciowo rozwiazalem. Mam kilkanascie plikow o nazwie: litera alfabetu.xlxs, czyli: a.xlxs, b.xlxs, ... W nich sa zapisane wartosciami 3 kolumny: A B C Z tych kolumn potrzebuje skopiowac kolumny B i C (jedno pod drugim)do nowego pliku, w ktorym mam przycisk i do niego przypisane makro....
Dzień dobry, proszę o pomoc w napisaniu makro, które wykonuje poniższe czynności: 1. Zaznacz całą widoczną tabelę (tabela może mieć różną ilość wierszy). 2. Skopiuj zaznaczoną tabelę do kolejnego arkusza. 3. Dodaj kolumnę z lewej strony tabeli, która będzie częścią tej tabeli. 4. W nowo dodanej kolumnie wypełnij wartości do końca tabeli (tabela może...
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...
[syntax=vb] Sub SzukajCiagu() Dim x As Long, y As Long, z As Long, SzukaneSlowo As String x = 1 z = 1 Sheets("PrzeszukiwanyArkusz").Select While Cells(x, 1) <> "" y = 1 While Sheets("ListaSlow").Cells(y, 1) <> "" SzukaneSlowo = Sheets("ListaSlow").Cells(y, 1) If InStr(1, Cells(x, 5), SzukaneSlowo) > 0 Or InStr(1, Cells(x, 6), SzukaneSlowo)...
Witajcie Może się Wam to przyda
Chyba łatwiej zrobić dwuklik na wierszu, z którego chcesz kopiować. Równocześnie uruchamiasz makro i wskazujesz wiersz. Możesz też się upewnić, czy to właściwy wiersz. Oczywiście można też wstawić tam InputBox, tylko wtedy jak chcesz uruchamiać to makro? Jeśli chodzi o moją propozycję, to komórki docelowe wypisujesz po kolei jako adresy obiektu Range:...
Sprawdź czy o to chodzi.
Zamiast tej linijki[syntax=vb]Wb.Sheets.Copy before:=ThisWorkbook.Sheets("makro")[/sy... pętlę For, z warunkowym kopiowaniem arkuszy. Warunkiem może być cells.find(what:="*") z wyłączoną obsługą błędów i jeśli Err=0, kopiujesz.
nowe rekordy muszą się wklejać po kolei w te tabele obok (A1:D1, A8:D8 itd.) :?: :?: :?: Czy to ma znaczyć, że nowe rekordy mają być dopisywane do poszczególnych tabelek z tym samym ID ??? Jeśli istnieją jakiekolwiek racjonalne przesłanki, że poszczególne segmenty tabeli nie mogą być dziesięcio-wierszowe :cry: to w kodzie te dane mają kopiować się...
Wystarczy zwykła pętla z wieloma warunkami. Zobacz przykład (funkcja VBA) w [url=http://www.elektroda.pl/rtvforum/to... temacie.
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.
Sprobuj takie makro - jest bardzo proste zaklada ze uruchamiasz je z arkusza Dane i ze tabelka w arkuszu Dane jest w tym samym miejscu co dales w przykladzie Sub test() Dim DaneX, DaneY, SpisX As Integer DaneX = 2 DaneY = 2 SpisX = 10 Do While Cells(DaneX, 1).Value <> "" Do While Cells(1, DaneY).Value <> "" If Val(Cells(DaneX, DaneY).Value)...
Jaky format w A1? Sprobuj Sheets(Range("A1").Text).Select
Witam Workbooks.Add nowy=ActiveWorkbook.Name '....... 'tu kopiowanie a t.d. '........ Workbooks(nowy).Close False Ten kod w petli
Zakładając, że dane w Arkusz2 zajmują dwie pierwsze kolumny (w Excelu) w komórkę B1 należy wpisać: =WYSZUKAJ.PIONOWO(A1;Arkusz2!A:B;2;0) i skopiować w dół.
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.
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
Spróbuj z InputBox'em: [syntax=vb]w = 14 ile = Int(InputBox("Ile?", "Wpisz liczbę całkowitą", 3)) If ile < 1 Then Exit Sub Application.ScreenUpdating = False Range("A16:V29").Copy For i = 1 To ile Range("A" & 16 + w).Select ActiveSheet.Paste w = w + w Next Application.CutCopyMode = False Application.ScreenUpdating = True[/syntax]
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
Jak masz tak ładnie popisane "stare:xxxxxxx" i "nowe:yyyyyy" we wszystkich wierszach to nawet nie musisz sięgać ani do wyrażeń regularnych, ani do VBA :please: Wystarczy zrobić odpowiednią formułę (na bazie fragment.tekstu) w kolumnach C i D i przeciągnąć ją na dół kolumny :idea: :idea:
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...
Jeśli makro, następnie tak
A o tworze zwanym FileCopy(source, destination) Kolega słyszał? Jeżeli nie to proszę postudiować Google lub użyć tak jak napisałem. Ścieżki w całości.
Najprościej na przykład tak: Sub Kopiowanie() Set fs = CreateObject("Scripting.FileSystemObject... fs.CopyFile [A1], [B1] End Sub [A1] zastępuje Range("A1") Dokładny opis metody CopyFile jest w Helpie do VBA. W nazwach plików można używać symboli wieloznacznych do kopiowania wielu plików naraz.
Witam, jestem tutaj nowy. W Excelu poruszam się biegle, ale mam problem z Makrami i VB. Mam dwa pliki. Plan produkcji.xls w nim arkusz Produkcja i tam ma różne dane. Drugi plik to Zrobione.xls i arkusz zrobione. Chciałbym, aby w pliku zrobione po uruchomieniu Makra wypisało mi wszystkie arkusze ze statusem GOT. który jest w kolumnie N pliku Plan produkcji....
Teraz wszystko jasne. [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Application.ScreenUpdating = False Plik = "C:\PlikiSpraw\" & Range("A" & Target.Row) & ".xlsx" If Dir(Plik) <> "" Then Rows(Target.Row).Copy Set s = Workbooks.Open(Plik) nw = s.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row...
Można na kilka sposobów. Poniżej masz jeden z nich: [syntax=vb] Sub Auto_close() ' ' Makro1 Makro ' Application.DisplayAlerts = False Range("C5:Q5").Select Selection.Copy Do ActiveCell.Offset(1, 0).Select If ActiveCell.Value = "" Then Exit Do Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False...
[syntax=vbscript]Sub Makro() With Range("J2") .FormulaR1C1 = "=NOW()" .HorizontalAlignment = xlLeft .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With p = [F3] Cells.Copy Workbooks.Add ActiveSheet.Paste Application.CutCopyMode...
Witam forumowiczów. Potrzebuję makro, które zaoszczędziło by mi wiele czasu na wypełnianiu wielu dokumentów potrzebnych do prowadzenia działalności. Chodzi o wypełnianie dziennego zestawienia sprzedaży załącznik DZS.xlsx Chodzi o to, że na podstawie zawartości komórki z kolumny 07 różnej od pustej pliku Październik.xlsx w pliku DZS kopiowała się data...
masz kilka postów niżej temat VBA - excel - Makro - kopiuj wszystkie pliki
Potrzebuje pomocy w napisaniu makra w excelu, kopiowanie danych z jednego pliku excela do drugiego excela w petli gdzie jest wiele plików. Wyjaśniam o co mi chodzi. Mam plik excel nazwany np dane1.xls ( dane2.xls, dane3.xls itd tych plików mam ponad 200 w folderze) z kilkunastoma arkuszami oraz plik wzor.xls. ( Potrzebuje wyciągnąć z pliku dane1.xls...
Cześć, potrzebuję pomocy. W załączonym pliku znajdziecie arkusze: - weryfikacja - firma 1 - firma 2 - kodowanie firma 1 - kodowanie firma 2 Przystępując do pracy: 1. Do arkusza "Firma 1" wklejam dane z innego pliku od kolumny E do AB 2. Uzupełniam formułę w kolumnie A 3. W kolumnę B wpisuje "F1" 4. Kopiuję kolumnę A i wklejam do arkusza "Kodowanie Firma...
Witam, Mam kolumny (A1:B23112) z różnymi wartościami, przy czym każde 36 przypisane jest do danego użytkownika. Potrzebuję znaleźć makro które pozwoli mi na zwiększenie ciągu wartości jednego użytkownika z jednego do 30, tak aby kolejność wartości i użytkowników była zachowana. Czyli obrazując w skrócie sytuacje mając (w kolumnie pierwszej id użytkownika,...
Wystarczy przeliczyć kolumny i uwzględnić scalenie, którego VBA "okropnie nie cierpi" ;) [syntax=vb]Sub Kopiuj() Dim lista As Variant, ostWs As Long, i As Integer lista = Array("C2", "F2", "I2", "C4", "F4", "I4", "C6", "F6", "I6", "C9", "C10", _ "F9", "F10", "I9", "I10", "I11", "C14", "F14") Application.ScreenUpdating = False With Sheets("Arkusz2")...
Spróbuj np. tak - najpierw zaznaczasz dane w wybranej (pojedynczej) kolumnie, potem wykonujesz makro. [syntax=vb]Application.ScreenUpdating = False For w = Selection.Row To Selection.Row + Selection.Count - 1 Step 2 Cells(w + 1, Selection.Column).Value = Cells(w, Selection.Column).Value Next w Application.ScreenUpdating = True[/syntax] PS. Takie rzeczy...
W załączniku umieściłem plik z dwoma arkuszami - z danymi początkowymi "Basic" oraz "Divided". Chodzi o to, że dane z kolumny A arkusza "Basic" kopiuję do kolumn B, C, D itd. arkusza "Divided". Do kolumny B dane z 2002, do kolumny C dane z 2003 itd. Może plik coś rozjaśni.
Chciałbym uściślić. Mam w skoroszycie bazowym (nazwę go DD) kilka tabelek w której formuły są typu B7=B5-B6, C7=C5-C6 itd. Zrobiłem makro, które przenosi dane z pierwszego skoroszytu z pozycji B6 na pozycję B5 w następnym skoroszycie i kopiuje skoroszyt. Przy pierwszym kopiowaniu (JA1) jest ok, ale jak próbuję skopiować JA1 do JA2 to nie przenosi mi...
Zarejestruj makro pojedynczej operacji kopiowania arkusza, podejrzyj co jest w środku, a potem dopasuj do własnych potrzeb.
To 2020 ACTUAL jest w kolumnie B, nie H - może stąd problem? [syntax=vbscript]w = Application.Match("2020 ACTUAL", Range("H1:H" & ow), 0) - 1[/syntax] Zmień H na B.
Witam. Mam ok 60 plików CSV (pliki tekstowe oddzielone przecinkami) znajdują się w jednym folderze. Pliki mają różne nazwy (przykładowo: 21172001 6.28.18 13.07.05) każdy plik ma tyle samo kolum (po przecinku) wiersz pierwszy: a,b,c,d,e,f,g,h,i, wiersz drugi: 1,1,1,0,0.00,0.00,N-m,0,0 wiersz trzeci: 1,1,1,0,0.00,0.00,N-m,0,0 Potrzebuję makro które: 1....
Tak myślałem że nie zdążę. :) W moim przypadku nie kopiuje formatu. Sub kopiuj() n = 0 m = Sheets("dane").Range... For k = 2 To m a = Sheets("dane").Cells... 1).Value For i = 1 To a n = n + 1 Sheets("widok").Cells&... 1).Value =...
Witam wszystkich mam poważny problem z dodawaniem nowego wiersza za pomocą przycisku. Stworzyłem tabelkę, która zawiera wiele list rozwijanych i funkcji jeżeli to coś tam. Przycisk z odwołaniem do Makra dodaje mi kolejny wiersz zachowuje listy rozwijane ale nie przenosi funkcji i pojawiają się puste komórki. Czy może ktoś wie jak powinno wyglądać prawidłowe...
Trzeba zmienić sposób adresowania w makro z bezwzględnego na względny . A najlepiej związać z aktywną komórką i wtedy nawet nie trzeba go kopiować - jedno makro będzie obsługiwało wszystkie wiersze. :D
excel szukaj kopiuj makro excel makro kopiuj arkusz makro kopiuj
livebox router bezprzewodowo honda civic sterownik schemat czujnik odciąć paliwo
renault mascott renault mascott
Mini Cooper D 2016 - Przekreślony komunikat Start-Stop Termet Silver Pro 20 kW - Tryb ECO i Efektywność