的前10%我有一個Excel電子表格2013,除其他事項外,顯示了在不同地區的資產收入。VBA - 每個區域
我正在寫一個宏,如果收入是在該地區的前10%,而不是最近審查,將在明年的收入空單元格中輸入一個日期。這就是我發現困難的地方。
我可以寫一行代碼返回收入的前10%,但無法弄清楚如何返回一個區的前10%。
作爲一個功能,我可以達到預期的效果如下: {=LARGE(IF(I13:I1000=800,IF(AO13:AO1000<>DATE(2015,3,12),AI13:AI1000,""),""), 17)}
對於我的宏,我寫了將代碼:
1)接受輸入該地區進行審查和
2)確定的審覈日期時的最後審查進行(種,同樣的問題,我需要找到在某一地區資產最大)
3)如何計算很多資產需要進行審查(前10%和底部的百分之二十)
這是我到目前爲止的代碼:我掙扎弄清楚如何定義與範圍
Sub ScheduleNextReview()
'Determine which district will be reviewed
Dim Dist As String
Dim NextDate As Date
Dist = InputBox(Prompt:="Enter district for review:", Title:="Dist:", Default:="000")
NextDate = InputBox(Prompt:="Date of Review", Title:="Enter Date for next review:", Default:="mm/dd/yyyy")
'Find date of Last Review
Dim rng As Range
Dim LastReview As Date
Set rng = ActiveSheet.Range("AL13:AL1000")
LastReview = Application.WorksheetFunction.Max(rng) 'need to figure out how to get the max value for those in Dist
'Count number of wells in district and find top ten percent and bottom twenty percent
Dim DistTtl As Double
Dim TopTenth As Integer
Dim BottomTwent As Integer
DistTtl = WorksheetFunction.CountIf(Range("I13:I10000"), Dist)
TopTenth = WorksheetFunction.Round(DistTtl/10, 0)
BottomTwent = WorksheetFunction.Round(DistTtl/5, 0)
MsgBox "There are " & TopTenth & " assets in the top ten percent, and " & BottomTwent & " assets in the bottom twenty percent of " & Dist & " for review on " & NextDate & "."
End Sub
IF聲明或獲取與上面粘貼的函數相同的工作表函數。
請讓我知道如果有什麼需要進一步澄清 謝謝!
是的,你需要創建它:所以添加一些代碼到這個問題,如手冊中關於使用stackoverflow指示。 –
你應該包括你已經嘗試過('代碼')以提高你獲得答案的機會 - [這裏有一些提示] – 0m3r
感謝您的反饋。我編輯了我的問題,包括我完成的工作。如果有些事情不清楚或不合常規,我很抱歉;我幾個星期前就開始使用VBA /宏,因爲我公司裏沒有其他人可以做到這一點,Excel允許我儘可能多地記錄宏並教導自己(即我正在進行我的頭)。 – elt2jdavis