Заполните несмежные пустые ячейки значением из ячейки над первым пробелом - PullRequest
8 голосов
/ 21 сентября 2010

У меня есть столбец, подобный следующему:

1 red
2 blue
3 red
4 
5 blue
6
7
8 white

Пробелы относятся к записи над ней. Таким образом, № 4 будет связан с красным и 6 и 7 будет синим.

Есть ли простой способ заполнить пробелы для всего столбца?

1 Ответ

15 голосов
/ 21 сентября 2010
  • Выберите A1:A8.
  • Нажмите F5, чтобы открыть диалоговое окно Перейти к .
  • Нажмите Специальный ..... Выберите Пробелы и нажмите OK.

Это выберет несмежный диапазон пустых ячеек.

  • Затем, не выбирая ничего другого, введите =A3 и нажмите + .
  • Это введет формулу массива во все пустые ячейки, относящиеся к ячейке над ней.
  • Снова выберите A1:A8 и Правка - Копировать .
  • Затем Правка - Вставить специальные - Значения .И все готово.

Обратите внимание, что =A3 относится к ячейке над первой пустой ячейкой.

Если вы хотите это сделатьс помощью макроса вы можете перебирать ячейки и заполнять пустые.

Public Sub FillBlanks()

    Dim rColumn As Range
    Dim rCell As Range

    If TypeName(Selection) = "Range" Then
        For Each rColumn In Selection.Columns
            For Each rCell In rColumn.Cells
                If rCell.Row > rColumn.Cells(1).Row Then
                    If IsEmpty(rCell.Value) Then
                        rCell.Value = rCell.Offset(-1).Value
                    End If
                End If
            Next rCell
        Next rColumn
    End If
End Sub
...