Excel VBA для выделения соседних ячеек в столбце, который считается на 1

Мне нужна помощь с кодом для Excel... Я прочитал и прочитал, но не могу найти помощь по моим конкретным вопросам... У меня есть электронная таблица, которая перечисляет 3-значное число в столбце "B". В нем 30000 строк. Мне нужна VBA или формула, которая будет смотреть на столбец и выделять любые числа вниз по столбцу, которые округляются на 1... 410 412 441 481 482 499 478 479 480 Итак, в столбце выше вы увидите, что 481 и 482 продвинуты на 1... для этого нужно выделить 481 и 482... Кроме того, для 478, 479 и 480 потребуется выделить...

Заранее спасибо...

2 ответа

Условное форматирование сделает свое дело.

  1. Выделите столбец B
  2. Создать новое правило условного форматирования
  3. Нажмите "Использовать формулу, чтобы определить ячейки для форматирования"
  4. Введите эту формулу: =OR(B1-B1048576=1,B2-B1=1)
  5. Выберите желаемое форматирование.

Или, если вы хотите, чтобы он выделялся в любое время, когда 2 соседние ячейки разделены только на 1 (увеличение или уменьшение), эта формула подойдет =OR(ABS(B1-B1048576)=1,ABS(B1-B2)=1)

Я использовал это... это работает...

 Sub HighlightCells()

 Dim previousvalue As Integer
 Range("B2").Select
 previousvalue = ActiveCell.Value
 Range("B2").Select
 Do
 If ActiveCell.Value = previousvalue + 1 Then
ActiveCell.Offset(-1, 0).Select
Selection.Interior.ColorIndex = 3
ActiveCell.Offset(1, 0).Select
Selection.Interior.ColorIndex = 3
 End If
 previousvalue = ActiveCell.Value
 ActiveCell.Offset(1, 0).Select 'moves activecell down one row.
 Loop Until ActiveCell = ""

 End Sub
Другие вопросы по тегам