Ошибка вызова синтаксиса функции Excel
Я создал эту функцию:
Public Function getLastCellValue(ByVal row As Integer, ByVal column As String) As String
If (Cells(row, column).Value = "") Then
getLastCellValue = getLastCellValue(row - 1, column)
Else: getLastCellValue = Cells.Item(row, column).Value
End If
End Function
Когда я использую это в клетке это:
=getLastCellValue(1,"C")
Excel сообщает мне, что функция содержит ошибку и фокусируется на втором параметре: "C"
,
Я схожу с ума, потому что я не понимаю ошибку.
1 ответ
Cells(row, column)
ожидает числовые значения параметров. Если вы хотите сослаться на адреса ячеек (например, "А1"), возможно, будет проще использовать Range
вместо.
Тем не менее, я настоятельно рекомендую перенести эту реализацию на Code Review, как только вы добьетесь ее работы, как и ожидалось,... Я хотел бы отметить несколько вещей;)
Ваш код работает как на моей машине. Моя ставка на комментарий @Matteo
Убедитесь, что ваш язык Excel использует запятую (,) для разделения параметров функций; если ваше имя говорит мне что-то о вашей национальности, я полагаю, что вы используете итальянскую / испанскую систему (что означает, что вы должны разделять входные данные с помощью столбца (;)