Ciekawa sprawa... Przecinek jakby z innej bajki i nie chce się formatować komórka. Spróbuj w pętli: [syntax=vb]Sub Makro() Dim c As Range For Each c In ActiveSheet.UsedRange If Right(c, 1) = "*" Then c = Val(Left(c.Value, Len(c) - 1)) c.NumberFormat = "0.00" End If Next End Sub[/syntax]
Niezadeklarowana zmienna obiektowa 'WB' Zadeklaruj (WB as workbook) i przypisz (set WB = thisWorkbook / set WB = Workbooks("JakiśInnyPlik.xlsx") Albo po prostu: For Each WS In thisWorkbook.Worksheets lub dla innego niż ThisWorkbook For Each WS In Workbooks("JakiśInnyPlik.xlsx").Workshee... Masz błąd w konstrukcji 'If': i = i -1 musi być wewnątrz bloku...
Może tak: Sub del() Dim i As Integer For i = 100 To 3 Step -1 'ile wierszy będzie sprawdzanych If Range("B" & i).Value = Range("B2") Then Rows(i).Delete End If Next i End Sub
Jeśli będziesz miała otwarte oba pliki (tylko :!: ) to w świeżym pliku możesz wykorzystać makro typu :spoko: : [syntax=vbscript]Option Explicit Sub duplikatclear() Dim ws As Worksheet Dim ww As Worksheet Dim i, lrs, lrw As Integer Dim db As Range Set ws = ThisWorkbook.Sheets(1) Set ww = Workbooks(2).Sheets(1) lrs = ws.Cells(Rows.Count, 6).End(xlUp).Row...
Spróbuj tak: [code][syntax=vbscript] Sub ZapiszIUsuń() Dim Plik As String Plik = ThisWorkbook.FullName ThisWorkbook.SaveAs Filename:="C:\NowaŚcieżkaDoPliku\" & ThisWorkbook.Name Kill Plik End Sub [/syntax] W cudzysłowie trzeba podać ścieżkę docelową andie
Gdy inna komórka nie zawiera tych słów makro się wysypuje Ok, z instrukcją 'if' [syntax=vbscript]Sub elka() For i = Cells(Rows.Count, "I").End(xlUp).Row To 1 Step -1 b = InStr(Cells(i, 9), "Nr faktury:") + 12 c = InStr(Cells(i, 9), ", Kwota VAT:") - b If b > 12 And c > 0 Then Cells(i, 9) = Mid(Cells(i, 9), b, c) Next i End Sub[/syntax]
Zauważ, że arkusz niue nazywa się "mm.dd.yyyy" tylko ma konkretną datę jako nazwę więc lepiej w ten sposób: select.end ale tak też można. I druga rzecz. Ta funkcja też ma pewien błąd. Trzeba podać datę początku i datę końca. Nie wiem co chciałeś osiągnąć chyba że jakimś kodem którego akurat ja nie stosuje/nie znam. [syntax=vb] Range("H2").FormulaR1C1...
Brak pliku do testowania!!! Jak coś Ci nie zadziała, poprawisz sobie sam. Dodałem makro RemoveShapes. Zobacz w moim załączniku.
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...
Ale makro działa , a co to ten 'CommandBoxa'?
Przeczytales to co napisalem? Czy calkowicie zignorowales i nadal piszesz to samo? Co to sa okienka "popins"? Popup? Przeciez pisales, ze wlaczaja sie aplikacje. > Masz klawiature gameingowa i masz ustawione jakies makro pod 2? Jezeli tak to przywroc klawiature do ustawien domyslnych lub zmien to w aplikacji do klawiatury. Mozesz usunac to co wykryl...
Mała przeróbka makr: 912681 Wiersze można dodawać ze ściśle określonego zakresu, który sam sobie ustalasz ("If ilewrs > 10 Then Exit Sub"). Usuwanie wierszy tylko pojedynczo, od ostatniego, aby zachować porządek.
Zmienić możesz: [syntax=c]#define __DATE__ "hello"[/syntax] to makro jest datą kompilacji modułu, więc trzeba uważać, bo jak ono wystąpi w osobnych plikach to może się okazać że może mieć różną wartość dla każdego z nich. Lepiej jest utworzyć np. plik "parametry.h", który byłby generowany np. przez skrypt lub wstawić w odpowiednim miejscu w Makefile...
Witam Wszystkich Serdecznie, Jest to mój pierwszy post na elektroda więc proszę o wyrozumiałość. Opis sytuacji: 1. Pracuje na excelu i tworzę DashBoarda związnego z urlopami. 2. W danym excelu jest wyświetlana lista osób oraz kto ile ma urlopów; 3. Wyświetlany excel zaciąga dane z innego pliku za pomocą Query; 4. Tabela Query wyświetla wszystkie daty...
Przy odświeżaniu pliku potrzebuję aby wykres ten został usunięty. W jego miejsce makro tworzy nowy w oparciu o aktualne dane. Jeśli wykres jest tego samego typu i nie zmienia się układ danych, tylko dochodzą nowe, to po co usuwać wykres ? Wystarczy "rozszerzyć" zakres danych dla wykresu już istniejącego ... ? : / ?
Namotałeś. [syntax=vbscript]Sub CzyscDane2() d = Weekday(Date) If d = vbSaturday Or d = vbSunday Or Swieto(Date) Then MsgBox ("Mamy weekend! Dane usuną się tylko w dzień roboczy") Exit Sub End If i = MsgBox("Czy na pewno chcesz usunąć dane z tej tabeli? " & _ "Pamiętaj, że stracisz je bezpowrotnie!!!" _ , vbOKCancel + vbExclamation + vbDefaultButton2,...
To jeszcze wymaga doprecyzowania. Co jeżeli w kolumnie F jest pusto a w E coś jest, albo odwrotnie? Może chodzi ci o usuwanie całych wierszy? Niezależnie od odpowiedzi użyj metody Delete. W pierwszym przypadku z obiektu Range z odpowiednią do potrzeb wartością Shift, w drugim Rows. Obiekt powinien wskazywać właściwy element do usunięcia. Zalecane jest...
Hej Chcialbym napisac makro ktore z 22 arkuszy jakie mam (kazdy ma inna nazwe) usunely mi sie wszystkie ktore w komorce c7 maja pusta wartosc tzn nie ma tam nic. napisalem cos takiego For arkusz = 2 To 22 If Range("c7") = "" Then ActiveWindow.SelectedSheets.Delete End If arkusz = arkusz + 1 Next ... ale nie dziala tak jakbym chcial. Dacie jakas podpowiedz??
a po drugie chyba mniej skomplikowane będzie usuwanie tych z zakresu drugiej ramki No, może odrobinkę. W załączniku są dopisane oba. Procedury znajdują się w kodzie arkusza. W makro wstawiania nie ingerowałem, nadmiarowe CheckBox'y wyrzuciłem.
podczas wyboru pliku kliknę na przycisk "Anuluj" :cunning: Temu kto kliknie "Anuluj" trzeba ustanowić karę : wklejania ręcznego poszczególnych wartości do tabeli :please: A na poważnie to można wprowadzić kod obsługi błędu i przerywający makro np: [syntax=vbscript]Public Sub ImpCsv() Dim Monthly As String Dim aConn As Object On Error GoTo ErrMsg If...
Pomimo dość dziwacznego kodu, jak przystało na laika ;) makro działa... Linia[syntax=vb]Range(Selection, Selection.End(xlToRight)).Select[/syntax... zaznaczenie komórek wiersza do pierwszej "dziury" (Ctrl+Shift+strzałka w prawo) i stąd pozostające wartości. Proponuję małą przeróbkę (koniecznie przeanalizuj!) [syntax=vb]Private Sub cmbdeletpass_Click()...
[syntax=vb]Sub usunAE() Dim bs As Range, r&, i& Set bs = Range("A:E") r = bs(Rows.Count, 5).End(xlUp).Row For i = r To 1 Step -1 If bs(i, 5) = 0 Then bs.Rows(i).Delete Next End Sub [/syntax]
Faktycznie, to usuwanie danych na początku chwilę trwa... U mnie jakieś 30s. Ale dalej mi się nie podobają te funkcje na 600.000 wierszy: popraw je na: [syntax=vb]ost_allegat_list = Sheets("Part of Allegat List").Cells(Rows.Count, 1).End(xlUp).Row With Range("H4:H" & ost_area_A) .FormulaR1C1 = "= IFERROR(VLOOKUP(RC[-7],'Part of Allegat List'!R2C9:R"...
Usuń duplikaty ani tabela przestawna tu się nie przyda bo dochodzi warunek że usuń gdy puste ale nie gdy puste w Re_3 Stworzyłem w sumie proste makro (ono tylko tak wygląda) Pierwsza część kodu przepisuje wszystkie linie mające to samo zlecenie. Później następuje sortowanie. Następnie warunek sprawdza czy (w moim przypadku coś1) się powtarza jeżeli...
Teoretycznie można coś podobnego zrobić - choć w praktyce jest to bardzo złe rozwiązanie, a już zwłaszcza na plikach w pracy, gdzie istotne jest bezpieczeństwo i pewność danych... Może najpierw wykład, potem kod ;) Garść faktów: Excel nie nadaje się do pracy wielozadaniowej (czy równoległej, zwał jak zwał). Teoretycznie można w pliku włączyć jakiś tam...
[syntax=vb]Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Arkusz1" And ws.Name <> "Arkusz2" Then ws.Range("A5:C71").ClearContents End If Next ws Application.ScreenUpdating = True[/syntax]
Jeśli długo nie używaleś nagrywarki i tak rzadko czyścisz komputer to najprawdopodobniej masz bardzo zabrudzony napęd.. Potrzebujesz : Patyczek kosmetyczny - 2 sztuki spirytus pitny (rektyfkowany) lub alkohol izopropylowy Pod żadnym pozorem nie używaj spirytusu salicylowego czy niebieskiego denaturatu. Ewentualnie może być denaturat bezbarwny. Potrzebny...
Witaj [syntax=vb]Sub usuwanie_pustych_wierszy() For Each sh In ThisWorkbook.Sheets For i = sh.Cells(65536, "A").End(xlUp).Row To 2 Step -1 If sh.Cells(i, "B").Value = "" Then sh.Rows(i).Delete shift:=xlUp End If Next Next End Sub[/syntax]
https://obrazki.elektroda.pl/7268233500_... Ten artykuł powstał w odpowiedzi na propozycję kolegi (at)Techekspert i jest rozwinięciem mojej prezentacji przedstawionej na konferencji The H(at)ck Summit w dniu 20 października 2023 r. Samą prezentację możesz pobrać stąd: Wyrzucamy algorytm Gutmanna do kosza Podstawowe informacje o niszczeniu...
Dołącz przykladowy plik
Na przykład w ten sposób: [syntax=vb]nr = "FK002301" ret = "" cut_flag = True For i = 1 To Len(nr) c = Mid(nr, i, 1) If Not IsNumeric(c) Then ret = ret & c Else If c > 0 Then cut_flag = False ret = ret & c End If If c = 0 And Not cut_flag Then ret = ret & c End If End If Next i MsgBox ret[/syntax]
hej, makro, którego używam: działa poprawnie, ale tylko dla arkusza danego. Chodzi mi o makro, które będzie usuwać wszystkie wiersze w całym skoroszycie. makro umieść w module a nie w arkuszu
no to musisz pobrać listę plików ze szczegółami, wyłuskać z nazw (lub właściwości pliku) datę/godzinę i w pętli wydać rozkazy kasowania tych, co spełniają kryteria. (at)ElektrodaBot daj program / makro w VBA które odczyta listę plików w katalogu, porówna które były starsze niż tydzień i je skasuje. Bezpośrednia odpowiedź Poniżej masz gotowe makro VBA,...
Witam, Mam problem który może mi rozwiązać tylko makro, otrzymałem excel z danymi w którym mam w jednej kolumnie nazwy odbiorców w kolejnych dane sprzedażowe. Problem polega na tym że zawsze pierwszy wiersz dla danego odbiorcy jest sumą wszystkich pozostałych (taki wiersz sumujący sprzedaż dla danego klienta). Potrzebuje makro które automatycznie usunie...
W przykładowym pliku nie widzę średników. Nie widzę też makra, które miałoby źle zapisywać. Generalna zasada jest taka, że jeśli plik zawiera separator w polu danych lub jakiś inny znak niedozwolony, to zawartość komórki ujmuje się w cudzysłów. Mechanizm Excela robi to prawidłowo, więc dlaczego makro nie miałoby?
Spróbuj: [syntax=vbnet]Sub d() Application.ScreenUpdating = False For Each s In ThisWorkbook.Sheets s.Cells.FormatConditions.Delete Next s Application.ScreenUpdating = True End Sub[/syntax]
Jesli dane jest w kolumnie 1, wtedy [syntax=vb]For r = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If (r Mod 3) <> 0 Then Rows(r).Delete Next [/syntax]
Nagraj makro jak to robisz, następnie je dostosuj do swoich potrzeb.
Witam, Jestem początkującym w VBA. Potrzebuje pomocy w jednym temacie: Chciałbym uzyskac takie makro że jak zaznacze np zakres komórek A6:B11 to chciałbym tylko w tych miejscach zwiekszyc liczbe wierszy i za pomoca wpisania konkretnej liczby wierszy (InputBox). Ważne dla mnie by dodanie wiersza synchronizowane było z okienkiem w kolumnie B tzn: zeby...
No, ale skądś się ta lista w kol.A wzięła. Jeśli jest wynikiem działania makra, być może łatwiej/szybciej byłoby to makro zmodyfikować (uzupełnić w podprocedury)...
[syntax=vb]Sub zz() Dim iLstCl% Application.ScreenUpdating = False iLstCl = Cells(4, Columns.Count).End(xlToLeft).Column For i = iLstCl To 3 Step -1 If Cells(4, i).Value = 1 Or Cells(4, i).Value = 2 Then 'zamiast powyższego warunku przy takim nazewnictwie kolumn można dać poniższy warunek: 'If IsNumeric(Cells(4, i).Value) = True Then Columns(i).EntireColumn.Delete...
Powinno być ScreenUpdating, a nie DisplayAlerts. Poza tym niepotrzebne są te selekcje. Wystarczy: [syntax=text]Rows(281).Delete Shift:=xlUp 'usuwa 281 wiersz [/syntax]
[syntax=vbscript]Sub Kasuj() Dim k As Variant For Each k In Sheets("Arkusz1").Range("TerminyGORNIK") If k <= Date Then Sheets("Arkusz1").Cells(k.Row, k.Column) = "" Next End Sub[/syntax]
Chyba jakoś tak: Private Sub CommandButton1_Click() x = 3 While Worksheets("Przyrządy pomiarowe").Cells(x, 1).Value <> "" If Worksheets("Przyrządy pomiarowe").Cells(x, 1).Value = Worksheets("Kalibracja-Naprawy&... Then Worksheets("Przyrządy...
[syntax=vbscript]Sub KolumnaData() Application.ScreenUpdating = False d = [A1] mz = Columns("MZ").Column For x = mz To 2 Step -1 a = Cells(2, x) If a <> "" And a < d Then Columns(x).Delete Next Application.ScreenUpdating = True End Sub [/syntax]
W każdy przebiegu pętli zanim zaczniesz zaznaczać wiersze. Inaczej skąd program ma wiedzieć, że chcesz zaznaczać w innym arkuszu?
Witam Próbuje stworzyć makro dla "zapominalskich". Przejdźmy do sedna. Po wciśnięciu OK w msgboxie makro odlicza np. 30 sekund po czym usuwa otwarty plik. Ale jeśli wcześniej włączę makro usuwające plik to plik zostanie natychmiast usunięty. Czyli makro odliczające czas musiałoby zostać wyłączone by kolejne mogło zostać włączone. Udało mi się na znalezionych...
Załączam przykładowy dokument z którym się borykam. Potrzebuję taki dokument "czyścić" z niepotrzebnych fragmentów. Na przykład taki ciąg znaków "1H NMR" występuje tutaj (dla przykładu) dwa razy. Potrzebuję odnaleźć wszystkie wystąpienia takiego ciągu, oraz usunięcie wszystkiego wraz z nimi końca akapitów. Wyrzeźbiłem coś, co potrafi wykonać zadanie...
A więc z 1588 styli zrobiło się tylko 1300. Za sprawą tak napisanego makra: [syntax=vbscript] Sub UsunStyleXl() ' ' UsunStyleXl Makro Dim oStyle As Style, nazwaStylu As String For Each oStyle In ActiveDocument.Styles If Not oStyle.BuiltIn Then nazwaStylu = oStyle.NameLocal nazwaStylu = Left(nazwaStylu, 2) If nazwaStylu = "xl" Then oStyle.Delete End...
Podmień kod makra na poniższy i potestuj [syntax=vbscript] Sub nastepny() Application.ScreenUpdating = False ActiveSheet.Copy after:=ActiveSheet With ActiveSheet num = Mid(.Name, 3, 2) .Range("g4") = "z T-" & num num = Format(Val(num + 1), "00") .Name = "T-" & num ow = .Cells(Rows.Count, 1).End(xlUp).Row .Range("l2") = .Range("l2").Value + 7...
Na chwilę obecną mam VBA, które działa w następujący sposób: Jeśli w kolumnie "6" w arkuszu1 zaznaczę "x" to kopiuje odpowiednie komórki do pierwszego wolnego wiersza w innym arkuszu. Aby odwrócić działanie tego makra, dobrze byłoby wiedzieć gdzie te "odpowiednie komórki" lądują w 2-gim arkuszu. No wiesz, żeby nie biegać i szukać po wszystkich szufladach......
excel makro usuwanie makro usuwanie kolumny makro usuwanie wierszy
iveco daily ciśnienie oleju kondensator zamrażarka napiąć bolec próbnik
pilot zgemma bateria parkside styki
LG WD-T12235D – moc silnika Direct Drive BLDC, parametry prania i wirowania Kontrolka silnika a ciśnienie oparów paliwa w zbiorniku