Функция vba работает, но при нажатии показывает 0 - PullRequest
0 голосов
/ 17 июня 2020

Итак, я создал функцию с использованием VBA, которая удаляет символы из ячейки

Function removeAlpha(r As String) As String
With CreateObject("vbscript.regexp")
    .Pattern = "[A-Za-z]"
    .Global = True
    removeAlpha = .Replace(r, "")
End With
End Function

Она сохраняется как надстройка и доступна во всех книгах

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

Set wsDest = Workbooks("Bill.csv").Worksheets("Bill")
Lastrow = wsDest.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Offset(RowOffset:=1).Row
Set NextFreeCell = wsDest.Cells(Lastrow, "AC")

NextFreeCell.Formula = "=removeAlpha(" & Cells(i + 1, j + 5).Address(external:=True) & ")"

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

Первый счет является активным листом

=removeAlpha('[FirstBill.xlsx]Table 1'!$G$10)

Это то, что отображается, когда я нажимаю на ячейку с формулой на рабочем листе назначения, и будет отображаться правильное значение, но когда я нажмите Enter, он показывает 0. Любая помощь будет принята с благодарностью. Заранее спасибо :)

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