2015-05-01 41 views
1

我想遍歷整個列W2,同時取每一行的平均值。該專欄長1326年。需要幫助循環功能中的單元格

我下面的代碼只計算了W2B2的平均值。誰能幫

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列1