Excel - Makro do usuwania wiersza pod warunkiem
Makra mogą być używane do różnych operacji w arkuszach programu Excel, takich jak usuwanie wierszy, które spełniają określone warunki. Chociaż nie jest to konieczne, pewna znajomość pojęć programistycznych i pętli może okazać się przydatna do napisania makra w programie Excel. Makra w programie Excel do usuwania wierszy spełniających określone warunki mogą być zapisywane od podstaw lub opracowywane na podstawie ogólnie dostępnego kodu makra. Makra są bardzo przydatną funkcją i mogą być używane do wykonywania operacji na danych w arkuszach programu Excel z dużą liczbą rekordów. Makra w Excelu automatyzują proces, dzięki czemu zadanie jest szybkie i wolne od błędów.
Kwestia
Potrzebuję makra do usuwania wierszy, gdy żadna z komórek w wierszu nie zawiera jednej z dwóch liczb „ 103526 ” lub „ 103527 ”
Liczba wierszy jest zmienna (max 150), a liczba kolumn również zmienna (maks. 100).
Każda pomoc jest doceniana.
Rozwiązanie
Twój warunek jest dla mnie mylący. Przeformułowałem to.
Jeśli wiersz zawiera 103526 lub 102527 lub oba, NIE usuwaj.
Jeśli żadna z dwóch liczb nie jest pod rząd, usuń.
Teraz, gdy usuwasz wiersze, przechowuj kopię danych w arkuszu 1 do arkusza2, aby móc skopiować dane, jeśli jest bałagan.
Dane znajdują się w arkuszach 1, spróbuj tego makra:
Sub test () Dim j jako Integer, k Jako Integer Dim r As Range, cfind6 As Range, cfind7 As Range Worksheets ("sheet1"). Aktywuj On Error Resume Następny j = Cells (Rows.Count, "A"). End (xlUp) .Row Dla k = j Do 1 kroku -1 Ustaw cfind6 = Wiersze (k) .Cells.Find (co: = 103526, lookat: = xlWhole) Ustaw cfind7 = Wiersze (k). = 103527, lookat: = xlWhole) Jeśli cfind6 nie ma nic i cfind7 nie ma nic wtedy wierszy (k). Usuń następny
Uwaga
Podziękowania dla venkat1926 za tę poradę na forum.