我有多個電子表格,每個大致是這樣的:EXCEL VBA-平均包含在拼接區域爲每列數值的所有行
我試圖找到一種方法要經過第1行中的每一個SPEAKER HEADERS,並總結與相應調查問題相關的分數(「內容是否良好?SPEAKER是否相關?DELIVERY的好處?」)按顏色分組。
我可以'不要想到一個巧妙的方法來自動執行此操作。
我可以合併單元格的範圍跨越這樣的:
For Each Cell In src_sheet.UsedRange.Cells
If Cell.Row = 1 And IsEmpty(Cell) = False Then
MsgBox Cell.MergeArea.Address
End If
Next
然後我需要遍歷所提供的地址範圍,讓在跌破這一區間意味着所有行的數值。
例如,在運行當前的宏觀產生這樣的:
我需要$C$1:$E$1
並運行一個for循環,從C1說E1平均所有數字在它下面的行。我不知道如何做到這一點。
我在想擴充選擇中包括使用
一切有沒有更好的方式來做到這一點?
這是我做的,現在(我是頗爲自豪的賬戶是新練成)慘遭壞的方式:
For Each Cell In src_sheet.UsedRange.Cells
If Cell.Row = 1 And IsEmpty(Cell) = False Then
Set rng = Range(Cell.MergeArea.Address) 'Equal to the Address of the Merged Area
startLetter = Mid(rng.Address, 2, 1) 'Gets letter from MergeArea Address
endLetter = Mid(rng.Address, 7, 1) 'Gets letter from MergeArea Address
On Error GoTo ErrHandler:
Set superRange = Range(startLetter & ":" & endLetter)
ErrHandler:
endLetter = startLetter
Set superRange = Range(startLetter & ":" & endLetter)
Resume Next
superRange.Select
MsgBox Application.Average(Selection)
我會對此有不同的看法。創建一個PERSON類,然後創建每個人,併爲每個類別鍵入個人屬性。把它稱爲'person_instance.morning_session.content'不是嗎? – 2013-07-02 16:49:58