Witaj 'Next cell ' przed 'If zmienna = False Then ' Dodano po 2 a jeszcze For Each cell In rng.rows(i).Cells
Jedno z wyjść [syntax=vbscript]=ADR.POŚR("Arkusz1!A1")...
Witam 'Application.OnKey ' np. w kodzie arkusza (można w workbook open) [syntax=vbscript]Private Sub Worksheet_Activate() Application.OnKey "{del}", "usun" End Sub[/syntax] w module [syntax=vbscript]Sub usun() ActiveCell.EntireRow.Delete End Sub[/syntax]
Trzeba lecieć od dołu: [syntax=vbscript]Sub KasujWiersze() ow = Cells(Rows.Count, "A").End(xlUp).Row For x = ow To 1 Step -1 If Cells(x, 1) = "DELETE" Then Rows(x).Delete Next End Sub [/syntax]
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()...
Co setny zostaje. [syntax=vbscript]Sub co_sto() i = 1 Do While Cells(i, 1) <> "" Rows(i).Resize(99).Delete i = i + 1 Loop End Sub[/syntax]
troszkę nie kminię pomysłu , daj przykład paru komórek jak powinny wyglądać Przecież autor załączył fotkę Proponuje wpisać w A1 1 i w A2 1 zaznaczyć A1 i A2 złapać z róg i skopiować w dół do A32 A33 wpisać =A1+1 i skopiować w dół do A64 Zaznaczyć komórki od A33 do A64 złapać za prawy dolny róg i przeciągnąć/skopiować w dół aż do ostatniego wiersza...
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...
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.
Ciekawe czy będzie możliwe podjęcie decyzji o wyświetleniu (lub nie) całego wiersza na podstawie jednej komórki w nim występującej? Tak, ale użyj filtra zaawansowanego tutaj: ftp://ftp.helion.pl/online/cwexxp/cw... na stronie 54 masz podany przykład jak go używać. To powinno zaspokoić wszystkie Twoje pomysły. ;-)
https://obrazki.elektroda.pl/6388776700_... Symulator urządzenia OpenBeken IoT umożliwia uruchomienie wirtualnego urządzenia OBK w celu wypróbowania skryptów OBK, konfiguracji MQTT i parowania Home Assistant. Możesz także szkicować połączenia wirtualnego modułu WiFi, aby podłączyć urządzenia peryferyjne, takie jak przyciski, przekaźniki,...
Zrób taki test: podłącz ten dysk do innego komputera z Windowsem 10. Znikanie plików to nie wina uszkodzenia dysku, raczej jakiś konflikt. Jaką masz kompilację Win10? Najnowszą? Czy za szybko nie odpinasz dysku? Używasz opcji "bezpieczne usuwanie sprzętu"? Z wiersza poleceń jako administrator zrób pełny CHKDSK (uruchomić CHKDSK/r /f /x).
Tu dodałem jeszcze usuwanie wiersza z pewnymi zabezpieczeniami edit: Teraz mi przyszło że zamiast przycisku edytuj kod z pod tego przycisku można umieścić na podwójnym kliknieciu w listbox (na danym wierszu) wtedy dane się zczytają do okienek edycyjnych. Podmieniłem załącznik
Moja sugestia jest jednak taka, żeby te pliki wrzucić do tabeli w Accessie i tam je analizować. To a propos pytania "co byście zmienili". Jeśli już się uprzeć przy pliku, to usuwanie większej ilości wierszy pojedynczo poleceniem .Delete jest baaaardzo wolne, zagnieżdżona pętla też nie pomaga. 4 pomysły na przyspieszenie: 1. Kopiować znajdowane wiersze...
Tak, jeśli uruchamiasz pętlę z wiersza poleceń to zastosuj pojedynczy symbol %, podwójny jest w plikach bat.
Masz dwa wyjścia: 1. wyszukać odpowiedniego wiersza w pętli 2. łatwiej/szybciej -dopisać kolumnę pomocniczą w arkuszu oraz kolumnę w ListBox i z niej pobierać pozycję (załącznik).
Dzięki za podpowiedź właśnie zrobiłem to w modelu i działa Temat do zamknięcia pozdrawiam i dziękuje
Żeby usunąć fragment pliku, musisz utworzyć nowy i skopiować do niego interesujące Cię części, po czym skasować stary plik.
Do czasu aż przeczytasz pomoc o wszystkich instrukcji(Array, Trim, Split, itp.), to nie ma sensu
Sorki, że milczałem do teraz, ale byłem "trochę" zajęty ;) W przykładzie wstawianie ramki poniżej tej, w której naciśnięto przycisk. Uwagi wymaga sposób wyliczania wartości zmiennych. W arkuszu ramka ma wysokość 4 wierszy, jest 1 wiersz nagłówkowy. Nr wierszy, gdzie nastąpi wstawianie nowych dla następnej ramki to: 6, 10, 14, itd Kluczowe jest wyliczenie...
[syntax=vb]sub usuniecie() Application.ScreenUpdating = False ow = Cells(Rows.Count, "M").End(xlUp).Row For r = ow To 1 Step -1 If Cells(r, "M") = 1224 Or Cells(r, "M") = 1228 Or Cells(r, "M") = 1232 Then Rows(r).Delete Next Application.ScreenUpdating = True End Sub[/syntax]
Można postąpić tak: Odblokować wszystkie komórki w arkuszu (a przynajmniej te, które mogą podlegać edycji). Włączyć ochronę arkusza. Do kodu arkusza wpisać procedurę obsługi zdarzenia Change: [syntax=text]Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect Target.Locked = True ActiveSheet.Protect End Sub [/syntax] Jeśli arkusz...
Widzę, że kolega czeka na tzw. gotowca :-D Oto co znalazłem na http://support.microsoft.com/kb/289022/p... a zajęło mi to całe 15 sekund :!: Streszczenie W tym artykule opisano sposób wyświetlania i ręcznej konfiguracji pliku Boot.ini w systemie Windows XP przy użyciu okna dialogowego Uruchamianie i odzyskiwanie. W systemie Windows XP można szybko i prosto...
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]
Ano nie działa, bo pusta komórka jest traktowana, jako zero.
usuwanie wierszy z tabeli przy powtarzającej się wartości
For i = 2 To arkusz.Rows.Count - 1 Na For i = 2 To 200
Ooops ma byc Range("A2:A" & Cells(Rows.Count, "C").End(xlUp).Row )= "New"
Diskpart - umożliwia np formatowanie całego dysku HDD / SSD lub usuwanie partycji i formatowanie z linii komend wiersza poleceń (cmd). Na razie jeszcze tego nie zautomatyzowałem, ale przydaje mi się gdy chcę podmienić dysk używany w innym sprzęcie. Nie trzeba tego używać ;)
lub zmień na [syntax=vb]If Cells(i, "B").Text = 1 Then[/syntax]
W każdy przebiegu pętli zanim zaczniesz zaznaczać wiersze. Inaczej skąd program ma wiedzieć, że chcesz zaznaczać w innym arkuszu?
Cześć, Potrzebuję podpowiedzi z poniższym kodem. W momencie kiedy wybieram kilka pozycji na listboxie i puszczam kod to usuwa mi tylko pierwszą i wyrzuca error jak w załączniku: Witam Zrób tak [syntax=vbnet]Sub DeleteButton_Click() Dim i As Integer With ListBox1 For i = .ListCount - 1 To 0 Step -1 If .Selected(i) Then .RemoveItem i Sheets("Setup").Rows(i...
Skoro raport ma 300000 wierszy, to zmienna i musi być zadeklarowana jako long. W którym miejscu Twoje makro się zatrzymuje? A tak w ogóle to zamiast mozolnego porównywania każdej komórki z elementami tablicy przy pomocy pętli to poszedłbym w sprawdzenie przy pomocy odpowiednika arkuszowej funkcji PODAJ.POZYCJĘ czy wartość danej komórki jest w tablicy....
Dołóż jeszcze jedną pętlę [syntax=vb]Last = Cells(Rows.Count, "A").End(xlUp).Row With Arkusz2 last2 = .Cells(Rows.Count, "A").End(xlUp).Row For i = Last To 1 Step -1 For j = 1 To last2 wyraz = .Cells(j, "A") If Cells(i, "F").Value Like wyraz Then Rows(i).EntireRow.Delete Exit For 'j End If Next j Next i End With [/syntax]
Ma ktoś jakiś pomysł jak to naprawić? Przeanalizuj co się dzieje w pętli jak usuniesz "trefny" wiersz - numeracja przeskoczy na następny "wiersz" i dlatego nie będzie ten wiersz analizowany w ogóle :cry: Najprostsze rozwiązanie to "puścić" pętle od dołu :D np [syntax=vbscript]For x=Ostwiersz To 2 Step -1 …. Next x[/syntax]
Dołącz przykladowy plik
Witaj Łatwiej zrobić nowy niż szukać błędów: Dodano po 3 Specjalnie w tym przykładzie może być łatwiej [syntax=vb] Sub Usun() Dim r&: r = 2 While Cells(r, 1) <> Empty If Cells(r, 1) = "X" Then Cells(r, 1).Delete Shift:=xlToLeft End If If Cells(r, 2) = "Linia" And Val(Left(Cells(r, 3), 3)) >= 1 Then r = r + 1 Else Rows(r).EntireRow.Delete...
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...
Wyłącz odświeżanie ekranu przed pętlą (Application.Screenupdating=false) a za pętlą włącz ponownie (=true)
Argumentem funkcji IsNumber ma byc komorka (Range("B" & i)), "B" & i jest zwykly tekst
Zrobiłbym to tak: Zastosowałbym pętlę Do While, gdzie warunkiem będzie niepusta komórka w kolumnie D arkusza "Raport" w pliku "test". Obszukujemy kolumnę C w pliku "alredy..." Metoda Find wygeneruje błąd jeśli nie znajdzie szukanej frazy. Czyli jeśli błędu nie ma - pracownik jest. Jeśli błąd - pracownik zwolniony, można usunąć wiersz wg schematu (oczywiście...
Powinno działać.
To wersja makro, które wrzuciłem dokładnie to robi. Po przemieleniu Twoich przykładowych danych pozostało dokładnie 100 wierszy, z czego zostały tylko wiersze z "invoice" w opisie a także wiersze z kwotą 5.00 niezależnie od reszty opisu.
No tak, bo funkcja: każdego wiersza? Jeżeli tak, to zmień kolumnę z "A" np. na "B" lub "C"...
Zrób taką formułę, która sprawdzi ci czy w pierwszej kolumnie jest liczba całkowita, jeśli tak to skopiuje dane z kolumn X,Y1 i Y2 do nowego arkusza lub nawet w następne puste kolumny. A dalej to już sobie poradzisz.
Ok to muszę odszukać ta zamiana ręczna. Tak po wstawieuniu nowego wiersza będzie pusta komórka bez formuły to makrem myślałem o tym by zaznaczać komórkę A5 i w dół tak jak zaproponowałem. Zastanawia mnie najbardziej jak stworzyć kod by usuwalo mi wiersz jak cały zakres jest pusty. Bo teraz usuwa tylko wtedy jak coś w jakimś wierszu zakresu jest to usuwa...
Tak myślę że kolega nie wie co oznacza błąd 13. Ale do rzeczy. Rozumiem że kolega chce za jednym zamachem usunąć wszystkie puste wiersze we wszystkich otwartych arkuszach skoroszytu. Jeżeli tak to, skad procedura ma wiedzieć ile arkuszy jest otwarte w danej sesji? Jeżeli używam zmienne to trzeba , dla przyzwoitości je zadeklarować, a jak już to trzeba...
Jedyne operacje jakie są planowane na tym pliku to: - dodawanie usuwanie i ukrywanie odkrywanie wierszy - kopiowanie wierszy poprzez zaznaczenie całego i wklejanie w ten sam sposób wartości do nowego dodanego wiersza (tutaj wiem już że skopiowane wartości z zaznaczonego całego wiersza i wklejenie ich do nowo utworzonego nie są zapisywane w historii...
Problem okazał się prosty do rozwiązania, ponieważ nie wiadomo było jaki sterownik trzeba odinstalować, trzeba było znaleźć go według opublikowania. Sterownik miał opublikowaną nazwę /post pierwszy/ oem243.inf, wystarczyło wejść w menadżera urządzeń i wybrać urządzenia według sterowników. https://obrazki.elektroda.pl/1907004200_...
Nie jest całkowicie skrot, reprezentuje nazwę obiektu w skoroszycie, Np for each bbb in ActiveWorkbook.Sheets 'colection sheet in workbook bbb .Cells(1,1)="Witaj" next
makro usuwanie wiersza usuwanie aktywnego wiersza usuwanie zaznaczonego wiersza
metex uszkodzony resetować ustawić kanał naprawa zasilacz drukarka
hulajnogi elektryczne problemy nivona zawór drenażowy wymiana
Jak podłączyć gniazdo 12V w bagażniku Citroen C3 Picasso? Linde H25 – brak podnoszenia, diagnostyka błędów L90/L291, zawór 2Y9, hydraulika