Я был бы очень признателен за решение следующих вопросов: скопировать ТОЛЬКО строки, которые НЕ являются пустыми, из A1: A150 в столбец B или скопировать на другой рабочий лист. До половины строк может быть пустым в столбце А.

4 ответа4

0

Вы также можете использовать функцию filter (Ctrl+Shift+L).

Затем создайте пользовательское правило фильтрации, чтобы скрыть texts that contain (nothing or blank)

Примените фильтр, затем скопируйте и вставьте отфильтрованные данные.

0

Как насчет:

Sub KopyKat()
    Dim K As Long, i As Long
    K = 1
    For i = 1 To 150
        If Cells(i, 1).Value <> "" Then
            Cells(i, 1).Copy Cells(K, 2)
            K = K + 1
        End If
    Next i
End Sub
0

Вот формульное решение:

Скриншот рабочего листа

Массив введите (Ctrl+Shift+Enter) следующую формулу в B1 и скопируйте-вставьте / заполните столбец:

{=IFERROR(INDEX(A:A,SMALL(IF($A$1:$A$150="",FALSE,ROW($A$1:A$150)),ROW())),"")}
-1

Если вы хотите использовать vba для поиска по всей колонке, я бы использовал это:

Public Sub Copier()
Dim toRow As Integer
toRow = 1
Columns("A").Activate
For Each Value In Selection
    If Value Then
     Cells(toRow, 2).Value = Value
     toRow = toRow + 1
    End If
Next Value
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .