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 '釋放物件

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

沒有留言:

張貼留言

我的雷達:2024/11/15

  似乎有一種不安的味道