Вопрос:
Может ли кто-нибудь помочь мне, когда и почему я должен использовать application.index в VBA?
Function elso(bemenet) Dim kimenet(), koztes() As Variant Dim i, j, n, m, k As Long Dim sarok As Double elso = 1 n = bemenet.Rows.count m = bemenet.Columns.count ReDim kimenet(n + 1, m + 1) For i = 1 To n For j = 1 To m kimenet(i, j) = bemenet(i, j) Next j Next i For i = 1 To n kimenet(i, m + 1) = Application.max(Application.Index(bemenet, i, 0)) Next i For j = 1 To m kimenet(n + 1, j) = Application.Average(Application.Index(bemenet, 0, j)) Next j For k = 1 To Application.max(n, m) sarok = sarok + (bemenet(k, k)) Next k kimenet(n + 1, m + 1) = sarok elso = kimenet End Function Лучший ответ:
Кажется, что для получения конкретных значений, хранящихся в памяти, из рабочих листов. См. Https://usefulgyaan.wordpress.com/2013/06/12/vba-trick-of-the-week-slicing-an-array-without-loop-application-index/
Ответ №1
Это функция рабочего листа для извлечения значений из диапазона. Следующая функция одинаково:
Application.Index(Array, Row_Number, Column_Number) Application.WorksheetFunction.Index(Array, Row_Number, Column_Number)