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]
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",...
:arrow: Do autora: Dobrze podstawiłeś to makro? W załączeniu przykład z działającym makrem kolegi adamas_nt Poprawiłem tylko to, że nie liczy dla 100 wierszy tylko dla wszystkich wierszy w kolumnie A zeszytu1. Dodane po czasie ----------------------------- Zmieniłeś treść wiadomości więc moja uwaga nie ma już uzasadnienia, niemniej pozostawiam przykład...
Tak jak napisałem wcześniej wystarczy wszystko przeciągnąć/skopiować ...
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...
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") = ""...
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 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_...
[syntax=vbscript]Next a.AutoFilterMode = False End Sub [/syntax]
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...
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...
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...
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...
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.
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...
Zacznij z petli For Each c In Sheets(1).Cells.SpecialCells(xlCellTypeA...
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()...
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]
Rozumiem, że arkusz z danymi do kopiowania jest w osobnym pliku.
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...
[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]
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...
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...
Zerknij do załącznika. Plik zawiera makro.
Poproś kogoś innego.
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...
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
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
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)
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...
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
[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...
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...
Cześć, mam problem. Potrzebuję wiedzieć jak zrobić makro, które polega na ściąganiu danych z innego pliku. Ma wejść w inny plik, znaleźć konkretne słowo, przejść 5 komórek w prawo, skopiować wartość i wkleić w konkretne miejsce, potem przejść z tej piątej komórki na siódmą komórkę od tej znalezionej i skopiować ja w konkretne miejsce. Makro ma działać...
Zamień [syntax=vb]ActiveSheet.Paste [/syntax] na [syntax=vb]ActiveSheet.PasteSpecial Paste:=xlPasteValues[/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,...
Sprawdź czy o to chodzi.
Jeśli koniecznie chcesz przenosić wartość jednej komórki do drugiej przy użyciu makra - to po zarejestrowaniu edytuj to makro i skoryguj wklejanie ze schowka (zapisana jedna wartość :D ) na wklejanie wartości komórki pierwotnej. Znacznie prostszy sposób przenoszenia wartości z jednej komórki do drugiej to łączenia typu d10 = a1 :!:
Najpierw makro, które wstawi przecinki.
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...
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....
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ć.
Witajcie Może się Wam to przyda
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.
Spoko, działa świetnie. Dzięki
[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)...
Dużo do wyjaśniania, więc przeanalizuj sobie taki przykład makra z pętlą[syntax=vb]Sub Ukash() Dim myPath As String, fName As String, newWkb As Workbook Dim wrs As Long, wrsDst As Long myPath = "U:\Lukasz\Raporty\" 'składasz string z zamianą daty na tekst fName = "Raport " & Str(Date) & " adamas" 'lub dowolna data pobrana z komórki Set newWkb...
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,...
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ę...
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.
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.
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.
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.
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ół.
Możesz sobie dostosować makro z załącznika.
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)...
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...
Ok teraz masz kryteria w tablicach w kodzie VBA w razie jakbyś chciał dodać kryterium, musisz zwiększyć tablicę o 1 i dopisać do tego dodatkowego elementu kryterium z gwiazdkami. Jak zobaczysz kod to chyba będziesz wiedział o co kaman. Dodałem też zabezpieczenie przed kliknięciem dwa razy na makro
Jeśli makro, następnie tak
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 [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]
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]
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...
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:
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.
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...
Witam Workbooks.Add nowy=ActiveWorkbook.Name '....... 'tu kopiowanie a t.d. '........ Workbooks(nowy).Close False Ten kod w petli
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:...
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....
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...
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...
Jaky format w A1? Sprobuj Sheets(Range("A1").Text).Select
Masz racje może faktycznie ciężko i spaprałem opis, postaram się to sprawdzić po weekendzie. Jeszcze raz opisuje o co mi chodzi , mam 200 plikow w folderze "dane", w folderze "WZOR" jest plik wzorcowy wzor.xls oraz folder "CEL" czyli jest tak skrypt z folderu "dane" pobiera pierwszy plik to jest otwiera plik np g35.xls kopiuje odpowiednie zakresy komorek...
masz kilka postów niżej temat VBA - excel - Makro - kopiuj wszystkie pliki
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,...
Witam Chciałbym nawiązać do rozpoczętego tematu. Potrzebowałbym dodać do kodu dodatkową funkcje taką aby kopiowanie odbywało się nie tylko do arkusza 2 ale również do arkusza 3. I najlepiej by było gdyby te dane w arkuszu 3 były zabezpieczone przed jakąkolwiek edycją. z góry dziękuję za pomoc.
Następnym razem jako przykład załącz skoroszyty Excela a nie zrzuty ekranu. Przetestuj kod: [syntax=vbscript]Option Base 1 Sub podziel_autorow() Dim tblTmp() As String Dim lLstRw& Dim i&: i = 1 Application.ScreenUpdating = False lLstRw = Cells(Rows.Count, 1).End(xlUp).Row Columns(3).EntireColumn.Insert Cells(1, 2).Value = "autorzy" Cells(1, 3).Value...
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
Przy takim układzie danych sugerowałbym wykorzystać zdarzenie arkusza: Worksheet_SelectionChange . Po umieszczeniu kursora w nagłówku (rok) i pobierając dzień i miesiąc z kolumny A w pierwszej pętli otrzymamy datę oraz Nr wiersza wynikowego. DateSerial(Target.Value, Month(Cells(i, 1)), Day(Cells(i, 1))) Wystarczy...
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 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...
Moja propozycja: dwie zagnieżdżone pętle... Sub kopiowanie() licznik = 1 IleWierszy = Sheets("dane").Range... For Etykieta = 2 To IleWierszy IleEtykiet = Sheets("dane").Cells... 1) For i = 1 To IleEtykiet Application.Range(Sheets("d...
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. 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....
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...
początku dla $A$1 B2 z obrazka ELEKTRODA.jpg wynika, ze dla $A$1 C2 Poniewaz nie ma zalacznika, patrz przyklad(karta i baza w jednom skoroszycie) Wiersz dla druku - wartosc w C1(za ramami PrintArea) B1:B19 - funkcja tablicowa Ctrl+Shift+Enter
Witam Forumowiczów, jako, że nie znam się kompletnie na pisaniu makr w Excelu proszę o pomoc. Tworzę pewnego Excela i nie mogę przejść w nim jednego kroku i tu będzie potrzebne chyba makro, bo funkcjami Excela chyba nie można tego wykonać. A więc tak. Mam tylko jedną kolumnę, w której występują 0, po kilkunastu zerach pojawia się jedynka następnie dalej...
Jeżeli pola są oddzielone spację, wystarczy taka modyfikacja pętli: [syntax=vb]Do While Not EOF(1) Line Input #1, TextLine If Left(TextLine, 13) = "121401_2.0011" Then arr = Split(TextLine, " ") wsdane.Cells(i, 1).Value = arr(0) wsdane.Cells(i, 2).Value = arr(1) wsdane.Cells(i, 3).Value = arr(2) wsdane.Cells(i, 4).Value = arr(3) wsdane.Cells(i, 5).Value...
makro excel kopiowanie kopiowanie makro excel kopiowanie excel makro
temperatura sprężarka zamrażarki robot kuchenny zelmera silnik szczotkowy
zarejestrować słuchawkę panasonic zarejestrować słuchawkę panasonic
Gasik RC i warystor do transformatora 200W 230V Skuter ZIPP BT 49QT-28A nie odpala: paliwo i iskra są, nowy akumulator