Excel - макрос для видалення рядка за умови
Макроси можна використовувати для різних операцій у робочих таблицях Excel, наприклад, для видалення рядків, які задовольняють певній заданій умові. Хоча це і не обов'язково, деякі знання про концепції програмування і для циклів можуть виявитися корисними для написання макросу в Excel. Макроси в Excel для видалення рядків, які задовольняють певним умовам, можуть бути записані з нуля або розроблені з вільно доступного макрокоду. Макроси є дуже корисною функцією і можуть бути використані для виконання маніпуляцій з даними Excel з великою кількістю записів. Макроси в Excel автоматизують процес, роблячи завдання швидким і без помилок.
Проблема
Мені потрібен макрос для видалення рядків, якщо жодна з комірок рядка не містить одного з двох чисел " 103526 " або " 103527 "
Кількість рядків є змінною (макс. 150), а кількість стовпців також змінюється (не більше 100).
Будь-яка допомога оцінюється.
Рішення
Ваша умова мене бентежить. Я перефразую це.
Якщо рядок містить 103526 або 102527 або обидва, то НЕ видаляйте.
Якщо жодна з двох цифр не знаходиться в рядку, видаліть.
Тепер, коли ви видаляєте рядки, зберігайте копію даних у аркуші1 до аркуша2, щоб можна було скопіювати дані, якщо виникне безлад.
Дані наведено в аркушах 1, спробуйте цей макрос:
Sub test () Dim j As Integer, k As Integer Dim r Як діапазон, cfind6 As Range, cfind7 As Range Worksheets ("sheet1"). (xlUp) .Row Для k = j До 1 Крок -1 Встановити cfind6 = Ряди (k) .Cells.Find (що: = 103526, lookat: = xlWhole) Встановити cfind7 = Рядки (k) .Cells.Find (що: = 103527, lookat: = xlWhole) Якщо cfind6 нічого не значить, а cfind7 ніщо, то рядки (k).
Примітка
Завдяки venkat1926 за цей відгук на форумі.