2015-05-01 4 views
1

Я хочу прокрутить весь столбец W2, беря среднее значение для каждой строки. колонка имеет длину 1326.Нужна помощь, связанная с использованием ячеек в функции

Код, который я ниже, вычисляет только W2 и B2. Может кто-то помочь

NumCellsFromEdge = 3 
Dim NumOfCells As Integer 
NumOfCells = 3 

MsgBox GetTopDrTS(NumCellsFromEdge, NumOfCells) & " = average of " & NumCellsFromEdge & " cells in, and " & NumOfCells & " cells wide" 

End Sub 

Function GetTopDrTS(L_NumCellsFromEdge As Integer, L_NumOfCells As Integer) As Double 
Dim val As Double 
Dim mycol As Double 
val = 0 
mycol = 23 

'Range("W2").Select 
'Columns(mycol).Select 

Dim i As Integer 
For i = 0 To L_NumOfCells - 1 
Range("W2" & i).Select 

    val = val + Selection.Worksheet.Cells(Selection.Row, Selection.Column + EdgePos + L_NumCellsFromEdge + i).Value 

Next i 

GetTopDrTS = val/L_NumOfCells 

End Function 
+0

Что такое 'EdgePos' и где он получает его значение? – Jeeped

+0

Edgepos получает значения из строки B23. –

+0

его щеки для положения края на моем расширенном листе xl –

ответ

0

Это все, что вам нужно:

MsgBox [average(w:w)] 
+0

В первом чтении я думал, что вы хотите усреднить значения в столбце W. Повторяя, я думаю, вы хотите что-то еще. Можете ли вы прояснить цель? –

0

Application.average (листы (1) .range ("E: E"))

покажет вам среднее столбца E в листах 1

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