Очистка ячеек, содержащих не повторяющиеся значения (код) - VBA

Узнай цену своей работы

Формулировка задачи:

Всем привет! Нужно очистить ячейки (без удаления строк, без УФ), расположенные последовательно в одном столбце, первые два символа которых не равны первым двум символам верхней ячейки, то есть попарное сравнение и очистка данных при неравенстве первых двух символов. Символы цифровые. Пример: 7846769 7398068

66067568

669-86

5285547

5257075

52357956

919774

99906464

998468

4334375

5568357

558667

55796767468

557077456

487984 324008686 5257058

44679784

44870667

448-6785

267806785

2697-7986

099666750

390-786

39437468

5576 В столбце должны быть удалены все значения, кроме значений с жирным шрифтом.

Решение задачи: «Очистка ячеек, содержащих не повторяющиеся значения (код)»

textual
Листинг программы
Sub bb()
Dim f(), i&
  With ActiveSheet.UsedRange.Columns(1)
    f = .Formula
    If Left$(f(1, 1), 2) <> Left$(f(2, 1), 2) Then 'первый
      f(1, 1) = vbNullString
    End If
    For i = 2 To UBound(f) - 1
      If Left$(f(i, 1), 2) <> Left$(f(i - 1, 1), 2) And Left$(f(i, 1), 2) <> Left$(f(i + 1, 1), 2) Then
        f(i, 1) = vbNullString
      End If
    Next
    If Left$(f(i, 1), 2) <> Left$(f(i - 1, 1), 2) Then 'последний
      f(i, 1) = vbNullString
    End If
    .Formula = f
  End With
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы