Заполните несмежные пустые ячейки значением из ячейки над первым пустым

У меня есть такой столбец:

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

Пробелы относятся к записи над ним. Итак, # 4 будет ассоциироваться с красным, а 6 и 7 будут синими.

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


person Rod    schedule 21.09.2010    source источник


Ответы (1)


  • Выберите A1:A8.
  • Нажмите F5, чтобы открыть диалоговое окно Перейти к.
  • Щелкните Special ..... Выберите Пробелы и нажмите OK.

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

  • Затем, не выбирая ничего другого, введите =A3 и нажмите control + Enter.
  • Это введет формулу массива во все пустые ячейки, относящиеся к ячейке над ней.
  • Снова выберите 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
person Dick Kusleika    schedule 21.09.2010
comment
Очень красиво - как это сделать с помощью макроса? используя SendKeys ^ {ENTER}? - person Orin Moyer; 01.02.2019