pp 發問時間: 電腦與網際網路軟體 · 8 年前

配合表單及開始結束日期篩選資料並依錯誤碼遞增排序貼至當月份表

大大:

我有一萬多筆的資料,想要從資料中依開始及結束日期及ERROR_CODE,篩選出資料並依遞增統計出每一種ERROR_CODE出現過幾次及統計表.

己完成部份: 1.日期資料篩選 2.篩選ERROR_CODE出現次數 3.手動拉出 統計表

未完成:1. 從ERROR_CODE表單中做出下拉式表單 2.配合表單及開始結束日期篩選資料並依錯誤碼遞增排序貼至當月份表單中 3.如何自動做出圖表

程式及說明請至下載

http://www.funp.net/959503

已更新項目:

老師大大:

我將您的程式加入下拉式選單,但我不知如何與ud1與ud2一起篩選

問題1:請問是否可您程式跑完後,我再加上下列程式做第二次篩選

錯誤碼=worksheets("ERROR_CODE").RANGE("B" & ERROR_CODE +1)

Selection.AutoFilter

Selection.AutoFilter Field:=1, Criteria1:= 錯誤碼

2 個已更新項目:

問題2. 若ERROR_CODE列數不一定,那我要如何設定,才能抓取篩選範圍

問題3. ERROR_CODE下拉選單中有重複的資料,不知如何排除

再麻煩老師您了~~感恩!

http://www.funp.net/61219

3 個已更新項目:

老師大大:

感謝您的指點,是我沒想清楚.

1.篩選條件:若有點選錯誤碼=〔開始日期〕+〔結束日期〕+選取的單一〔錯誤碼〕篩選複製至〔當月份〕。

2.篩選條件:若沒點選錯誤碼=〔開始日期〕+〔結束日期〕複製至〔當月份〕,則篩選全部資料。

〔ERROR_CODE〕工作表的ABC欄,只是從〔匯入資料〕全部DATA找出每一種error_code發生的次數,製作圖表原是想放在〔當月份〕工作表的J K L 欄位

〔當月份〕工作表的J K L 欄位則取消,換成ERROR_CODE的圖表.

老師大大麻煩,請再指導!!

感恩~~

4 個已更新項目:

謝謝老師大大:

每次跟您學習程式,總是會有許多不同的收穫~~

謝謝您~~

請您將程式轉到回答區~~感恩!!

2 個解答

評分
  • 8 年前
    最佳解答

    <範例檔>:

    http://www.funp.net/43610

    先測看看,有問題再提出!

    若有必要,請延長此題天數!

    2012-10-14 13:20:04 補充:

    1.篩選條件:〔開始日期〕+〔結束日期〕+選取的單一〔錯誤碼〕

      複製至〔當月份〕。

      則,〔當月份〕的JKL欄如何填入?

      每次篩選,〔錯誤碼〕只有一個,如何排序?

    2.〔ERROR_CODE〕工作表的ABC欄,

      是以〔匯入資料〕全部DATA做統計表及圖表嗎?與篩選無關?

    需求〔流程〕請依〔步驟〕逐一表明,才好處理!

    2012-10-15 16:51:47 補充:

    <範例檔>:

    http://www.funp.net/781952

    再測看看!

    原資料的〔錯誤碼〕含有不定的〔空白字元〕,

    程式有做清除,否則〔 E0204〕〔 E0204〕〔E0204〕都將視為不同!

    2012-10-16 18:55:39 補充:

    EXCEL VBA.依指定〔日期區間〕及〔錯誤碼〕條件篩選匯出資料

                             <.准提部林.>

    ---------------------------------

    ■程式碼1:更新〔錯誤碼〕清單及統計圖表

     Sub 重置清單及更新圖表()

     '~~前置檢測段(略)~~

     Set xDic = CreateObject("Scripting.Dictionary")

     For Each xR In Sht(1).Range("A2:A" & EndRow)

       uT = xR(1, 3)

       If uT <> "" Then xDic(uT) = xDic(uT) + 1

     Next

     Y = xDic.Count: If Y = 0 Then Exit Sub

     With Sht(3)

       .[A2:C65536].ClearContents

       .[A2].Resize(Y) = "=ROW(A1)"

       With .[B2].Resize(Y)

          .Value = Application.Transpose(xDic.keys)

          .Sort Key1:=Sht(3).[B2], Order1:=xlAscending, Header:=xlNo

          .Name = "ErrCode"

       End With

       .[C2].Resize(Y) = Application.Transpose(xDic.items)

       .ChartObjects("圖表 6").Chart.SetSourceData _

            Source:=.Range("A1:C" & Y + 1)

     End With

     MsgBox "~~更新完成~~"

     End Sub

     

    ■程式碼2:依〔日期區間〕及〔錯誤碼〕篩選出表

     Sub 當月份_故障統計()

     '~~前置檢測段(略)~~

     With DataBase

       .AutoFilter Field:=1, Criteria1:=">=" & uD1, _

             Operator:=xlAnd, Criteria2:="<=" & uD2

       If Sht(4).[B5] <> "" Then _

         .AutoFilter Field:=3, Criteria1:=Sht(4).[B5]

     End With

     Y = Sht(1).[A65536].End(xlUp).Row

     If Y = 1 Then MsgBox "※無符合篩選條件資料!": GoTo 101

     DataBase.Copy Sht(2).[A1]

     With Sht(2)

        .[A:F].Sort Key1:=.[A2], Order1:=xlAscending, Header:=xlYes

        .Select

     End With

     101: Sht(1).ShowAllData

     End Sub

     

    ■說明:

     1.以上僅列出主處理段,其餘內容及簡略註解請參閱範例檔。

     2.若熟用〔樞紐分析表〕及〔進階篩選〕,也可達到部份需求,

       只是還是要幾個手動步驟才能完成。

    ---------------------------------

    <範例檔>下載:

    檔案名稱:20121013a02(錯誤碼篩選及統計).rar

    http://www.funp.net/781952

    ---------------------------------

  • 6 年前

    ●九州 娛樂 網站 http://ts777.cc/

    ●●●運彩遊戲、真人遊戲、電子遊戲、對戰遊戲、對戰遊戲●●●

    ●新舊會員儲值就送500點

    ● 真人百家樂彩金等你拿

    ●線上影片直播、正妹圖、討論區免費註冊

    歡迎免費體驗交流試玩!

    ●九州 娛樂 網站 http://ts777.cc/

還有問題?馬上發問,尋求解答。