Я делаю функцию в Excel VBA, которая выполняет много задач очистки на большом листе Excel.Он должен содержать несколько подпрограмм.Отдельные подпрограммы работают, но я не могу заставить их работать должным образом.
Public Function CleanTable(rangeA As Range)
Module1.replaceCellWithZero (rangeA)
Module2.removeAsterisk (rangeA)
End Function
Public Function ReplaceCellWithZero(rangeA As Range)
Dim thisCell As Variant
For Each thisCell In rangeA
If InStr(thisCell, "<") > 0 Then
thisCell.Value2 = 0
End If
Next thisCell
End Function
Public Function removeAsterisk(rangeA As Range)
Dim thisCell As Variant
For Each thisCell In rangeA
thisCell.Value2 = replace(thisCell, "*", "")
Next thisCell
End Function
Когда я вызываю функцию CleanTable, кажется, что она ничего не делает.Я не мог найти в чем дело даже с отладкой.Кажется, что он просто останавливается на replaceCellWithZero.
Основная функция - это функция, а не подпрограмма, потому что эта функция должна использоваться в большом количестве различных документов Excel.Я считаю, что для подпрограмм потребуются либо кнопки, либо ручной ввод областей диапазона в коде, что не соответствует потребностям этой вещи.Подпрограммы находятся в разных модулях, потому что файлы могут потребоваться для совместного использования отдельно.
Любая помощь будет оценена!