Как удалить # N / A, который появляется через лист?(Требуется VBA для Excel) - PullRequest
2 голосов
/ 14 марта 2012

Я должен очистить # N / A, что происходит через мой лист, когда я запускаю свой код.Я не уверен, почему и отлаживал некоторое время, но безрезультатно.Что я мог сделать, чтобы решить эту проблему, так это полностью удалить ее со страницы, где они происходят случайным образом.Если кто-нибудь знает, как это сделать, поделитесь со мной кодом VBA.

Коды выполнения простого копирования и вставки в другой лист

thevaluestocopy = Sheets("pivot").Cells(thefirstrow, 1) _
   .Resize(thelastrow - thefirstrow, 1)
    Worksheets("summary").Cells(3, 16) _
   .Resize(thelastrow - thefirstrow + 1, 16) = thevaluestocopy

Я вложил этот код в другой столбец, потому что мойсводная таблица меняется большую часть времени.И когда я скопировал во второй раз, появляется # N / A .. Понятия не имею почему, и я считаю, что это работает нормально.

Ответы [ 2 ]

11 голосов
/ 15 марта 2012

Вы можете запустить эту строку, чтобы удалить любые #N/A значения ошибок на листе:

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

Если рабочая таблица содержит формулы, вы можете попробовать это:

Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear
2 голосов
/ 14 марта 2012

Не знаю, но как насчет того, чтобы сделать что-то подобное? Так я обычно копирую и вставляю без проблем.

Sheets("pivot").Range("your range").Copy
Worksheets("summary").Range("your range").PasteSpecial

UPDATE Если вы все еще хотите просто удалить все # N / As с вашим текущим кодом, вы можете использовать такой код, как этот.

If WorksheetFunction.IsNA(Cells(row, column)) Then Cells(row, column).ClearContents
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...