Итак, я создал функцию с использованием 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. Любая помощь будет принята с благодарностью. Заранее спасибо :)