Excel VBA для поиска последней непустой ячейки в столбце и преобразования ее в значение - PullRequest
0 голосов
/ 31 мая 2019

У меня есть столбец, строки которого в настоящее время заполняются по следующей формуле: = IF (VLOOKUP (H3, B: D, 3,0) = "NOT_FOUND", "", VLOOKUP (H3, B: D, 3,0))
Это заполняет строки одну за другой значением, которое он находит.Я надеюсь, что есть макрос, который будет искать в столбце (I) одну последнюю непустую ячейку и преобразовывать ответ формулы в значение, чтобы я мог в итоге суммировать все значения.Я предполагаю, что это не очень сложный макрос, но у меня нет опыта работы с VBA, поэтому любая помощь будет признательна!

Вот изображение части таблицы, которую я пытаюсь сделать .Где 13,8, я хотел бы, чтобы это было преобразовано в просто значение, так как это последняя непустая ячейка в столбце.Пожалуйста, дайте мне знать, если это имеет смысл или нужна дополнительная информация.Спасибо!

1 Ответ

0 голосов
/ 31 мая 2019

nofriendsnojo, если все, что вам нужно, это перезаписать формулу в ячейке (в данном случае VLOOKUP), пожалуйста, посмотрите мой код ниже:

Sub paste_values()
Dim lastRow As Long
Dim cel As Range

'get last non-blank cell in column I
lastRow = Cells(Rows.Count, "I").End(xlUp).Row

'loop that overwrites cell contents with simple values
For Each cel In Range("I1:I" & lastRow)
    cel.Copy
    cel.PasteSpecial xlPasteValues
Next cel

Application.CutCopyMode = False

End Sub

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

Конечно, вы можете добавить некоторые ссылки, такие как ThisWorkbook. или ActiveSheet. или любую необходимую вам область.

Я надеюсь, что это решит вашу проблему или по крайней мере направитвы на правильном пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...