2020年10月24日 星期六

VBA:營收資料分析(四) Sumproduct+vba 結合進階篩選應用

 怎利用批次分析完的資料,其實很簡單手動設定篩選或是寫一個幫忙自動篩選的按鈕。

手動:

點選TRUE就會留下滿足1個月為正數(年增率大於0的),以此類推做設定。

image

圖1.篩選設定

2.進階篩選:參考 Excel VBA 進階篩選 AdvancedFilter (xlFilterInPlace、xlFilterCopy與Copy

頁面設定與執行參考如下:

image

圖2.頁面

程式碼撰寫:做一個ACTIVEX命令按鈕

            A = Sheets("營收彙整").Range("A10000").End(xlUp).Row '取得最後一列有使用的列
            
             Set myrange1 = Sheets("營收彙整").Range("A3" & ":" & "G" & A) '設定資料區為myrange1

            Set myRange2 = Sheets("營收彙整").Range("a1" & ":" & "G" & 2) '設定條件區為myrange2
            
            myrange1.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=myRange2

若要具備有取消篩 選,則新增一個ACTIVEX 命令按鈕,撰寫以下代碼即可:

  Dim INCOME_SHEET As Worksheet
    Set INCOME_SHEET= ThisWorkbook.ActiveSheet   '設定使用中的工作簿啟用中工作表為INCOME_SHEET
    With INCOME_SHEET
        If .FilterMode Then '過慮模式中
            .ShowAllData '顯示所有資料
        End If
    End With
    Set INCOME_SHEET= Nothing '釋放物件

札記這樣收集完資料,自動分析,還可以快速篩選節省時間在收集資料上。若想要自動儲存每間公司的營收資料,可以再寫一個自動存檔的副程式滿足此一功能。

沒有留言:

張貼留言

2季換一年

  112年合計 4.24 113.Q2比Q1成長9.6% Q1EPS為1.93,簡單白癡計算1.93*1.096=2.115 1.93+2.1=4.03 或是抓一樣也1.93 但不管是1.93*2=3.86或1.93+2.1=4.03,白話意思就是2季差不多相當於賺一個112全...