VBA, Очистить # N / A из указанного столбца - PullRequest
0 голосов
/ 10 января 2019

Я хочу удалить все # н / д (не по формуле) из указанного мной столбца:

Sub ClearNA()

    With Worksheets("database")
    Set rng1 = Range( _
                 Range("A1:FR1").Find("columnname").Offset(1), _
                Range("A1:FR1").Find("columnname").Offset(1).End(xlDown))

    Cells.Replace "#N/A", "", rng1

    End With

End Sub

Я хочу заменить их заготовками. Я получаю несоответствие типов в строке

Cells.Replace "#N/A", "", rng1

Обновление:

   Sub DeleteStringFromColumn(SearchString As String, _
                               ColumnNameOrNumber As Variant, _
                               MySheet As Worksheet, _
                               Optional ReplaceWith = vbNullString)
    With MySheet
        .Range(.Cells(1, ColumnNameOrNumber), .Cells(1048576, ColumnNameOrNumber)).Replace SearchString, vbNullString
    End With
End Sub


Sub clearNA()

    'DeleteStringFromColumn "#N/A", 1, ThisWorkbook.Sheets(1) 'ColumnNumber
    DeleteStringFromColumn "#N/A", "ProductType", ThisWorkbook.Sheets("database") 'ColumnName
End Sub

1 Ответ

0 голосов
/ 10 января 2019

Я завернул этот запрос в небольшую подпрограмму. См. Пример sub для использования.

Sub DeleteStringFromColumn(SearchString As String, _
                               ColumnNameOrNumber As Variant, _
                               MySheet As Worksheet, _
                               Optional ReplaceWith = vbNullString)
    With MySheet
        .Range(.Cells(1, ColumnNameOrNumber), .Cells(1048576, ColumnNameOrNumber)).Replace SearchString, vbNullString
    End With
End Sub

Sub Example()
    DeleteStringFromColumn "#N/A", 1, ThisWorkbook.Sheets(1) 'ColumnNumber
    DeleteStringFromColumn "#N/A", "B", ThisWorkbook.Sheets(1) 'ColumnName
    DeleteStringFromColumn "#N/A", ThisWorkbook.Names("ProductType").RefersToRange.Column, ThisWorkbook.Sheets(1) 'Getting Column Number from Named Range
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...