2016-04-24 13 views
0

Я не могу понять, почему мой винтик время выполнения возвращается сообщение об ошибке во время выполненияИспользования индекс Funtion в VBA возвращение во время выполнения сообщений об ошибке

Невозможно получить индекс свойство для функции рабочего листа ,

Ниже мой код,

Function Distance() As Integer 

Distance = Application.WorksheetFunction.Index(Workbooks("Practice 1.xlsm").Worksheets("Sheet2").Range("I11:P18"), Range("K12")) 

End Function 
+0

Фикс форматирование и опечаток? Проблема непонятна. – randominstanceOfLivingThing

+0

Поскольку вы передаете индексную функцию двухмерным массивом в качестве первого параметра, вам не хватает параметра столбца в качестве последнего – user3598756

+0

как бит 'функция Distance() как вариант'? – Rosetta

ответ

0

Функция индекс необходим диапазон, строку и столбец - таким образом три параметра. В вашем случае вы даете только два. Если начать новое пустое приложение, и вы пишете

?Application.WorksheetFunction.Index(Range("A1:C10"), Range("D1"),Range("D2")).address 

в ближайшем окне, вы получите $A$2:$C$2, в случае, если вы пишете в D2 и в E1.

Или с кодом что-то вроде этого:

Function Distance() As Integer 

Distance = Application.WorksheetFunction.Index(Workbooks("Practice 1.xlsm").Worksheets("Sheet2").Range("I11:P18"), Range("K12"),1) 

End Function