Ошибка вызова синтаксиса функции 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 использует запятую (,) для разделения параметров функций; если ваше имя говорит мне что-то о вашей национальности, я полагаю, что вы используете итальянскую / испанскую систему (что означает, что вы должны разделять входные данные с помощью столбца (;)

Другие вопросы по тегам