2015-03-26 2 views
2

Я создал эту функцию:первенствует функция ошибка синтаксиса вызова

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".

Я схожу с ума, потому что я не понимаю ошибки.

+2

Убедитесь, что ваш язык Excel использует запятую (',') для разделения параметров функций, если ваше имя говорит мне что-то о вашей национальности, я полагаю, вы используете итальянскую/испанскую систему (это означает, что вы должны разделить входы по полуколоновому столбцу (';') –

ответ

4

Cells(row, column) ожидает числовые значения параметров. Если вы имеете в виду ссылки на адреса ячеек (например, «A1»), то вместо этого может быть проще использовать Range.

При этом я настоятельно рекомендую брать эту реализацию к Code Review как только вы получите его работать, как и ожидалось, ... Я бы несколько вещей, чтобы указать на то,)


Ваш код работает , как есть на моей машине. Моя ставка на @Matteo's comment

Убедитесь, что ваш язык Excel использует запятую (,) для разделения параметров функции; если ваше имя говорит мне что-то о вашей национальности, я полагаю, вы используете итальянскую/испанскую систему (что означает, что вы должны разделить входы на полуколону (;)

+1

Неправильно, он принимает и письмо. –

+0

Ячейки() могут использовать имя строки столбца. Я не думал, что это сработает, когда я увижу, как кто-то другой использовал его на этой доске, пока я не попробовал. Я использую 2007 для справки. – Sobigen

+1

@MatteoNNZ IntelliSense вызывает параметры '[RowIndex]' и '[ColumnIndex]' ... черт побери Microsoft! –

Смежные вопросы