1 第1講提到繪製柏拉圖資料的佈署範例如下表
[表1]
A | B | C | |
1 | 不良內容 | 不良率 | |
2 | AA | 0.120 | |
3 | BB | 0.020 | |
4 | CC | 0.050 | |
5 | DD | 0.010 | |
6 | Else | 0.015 | |
7 |
2 以下是本次設計自動化繪製柏拉圖上的構想
2-1 柏拉圖需要二欄資料,如[表1]的“不良內容"與“不良率”,名稱可任意給,但左邊欄必為項目相關如“AA”,姑且稱項目欄, 右邊欄必為數量相關如“0.120”,姑且稱數量欄
2-2 不良內容如 AA、BB…等不限定數量,也不用先行排序
2-3 柏拉圖資料常有其他項,正常繪圖是要將其他項放在柏拉圖最右邊,所以資料安排上,請將其他項擺在最下方,如[表1]的else 0.015
2-4 其他項的名詞上可使用”其他”、”else”…,VBA不管使用何種名詞,只要是最下欄就認為是”其他項”,將放到柏拉圖最右邊
2-5 萬一,沒有”其他項”,則必須再不良內容加上一行,名義任取,如 else,重要的是數量欄(不良率) 填0
以上2-1~2-5是設計者構想,使用者是不知道的,所以VBA編程仍需撰寫操作檔手冊以利使用,當然此處就以上的說明而省略。
另外例如Minitab 繪製柏拉圖時,若不良項目數較多時,可經由排序只取95%的項目,而將其餘不良項目合併(或不合併)為一個”其他項”,這種構想本文留給看官自己去優化編程。
3 開始建立第二個Excel巨集(名稱為 count)
目的:本次練習建巨集目的是對柏拉圖資料的佈署作一檢視,並于資料下方列出檢視結果如下表 [表2] A1:B9
A | B | C | |
1 | 不良內容 | 不良率 | |
2 | AA | 0.120 | |
3 | BB | 0.020 | |
4 | CC | 0.050 | |
5 | DD | 0.010 | |
6 | Else | 0.015 | |
7 | |||
8 | Item no. | 5 | |
9 | Item else | 1 |
3-1 功能表 工具 > 巨集 > 巨集 (快捷鍵 alt-F8,另外簡體版 工具 >宏 >宏) 出現巨集的對話方塊
3-2 巨集的名稱:因為已經有data巨集,所以巨集名默認為data並反黑,請直接填入 “count” (可任意名稱),位置:默認,按 『創建』 ,又出現Visual Basic 編輯器(VBE),關注到
Sub count()
End sub
3-3 開始在Sub count()與End sub間填寫命令
請看官Copy 以下內容 Paste 到Sub count() 與 End sub 之間
‘ -------------- 從此處開始 Copy ------------------
‘ -------macro by Geroge ---2009/7/12--------------
Dim ct As Integer, xs1 As Double
ct = 0
Do
If Cells(ct + 2, 1) = "" Then
Exit Do
Else
ct = ct + 1
End If
Loop
Cells(ct + 3, 1) = "Item no."
Cells(ct + 4, 1) = "Item else"
If Cells(ct + 1, 2) = 0 Or Cells(ct + 1, 2) = "" Then
Cells(ct + 3, 2) = ct - 1
Cells(ct + 4, 2) = 0
Else
Cells(ct + 3, 2) = ct
Cells(ct + 4, 2) = 1
End If
‘----------------------------------------------------------------
‘ --------------------Copy 截止處 -------------------------
‘指令說明:
- Dim 對變數 ct 定義為整數
- Do else loop 為迴圈
- If else end if 是邏輯判斷
請注意每行開頭有『’』表示批註,其後的命令都不執行
4 新增一個按鈕來執行巨集 count
為了日後方便以及免於記憶,打算在工作表上加上一個按鈕,只要按一下按鈕就可以執行本巨集,作法是
4-1 呼叫表單工具箱 (視圖 > 工具欄 > 表單,或者滑鼠在工具列空白處按滑鼠右鍵 > 表單)後出現一個有控制項的表單 (表單控制項是專用在工作表)
4-2 建立"按鈕"控制項,名稱為 count 並連結 巨集-count
4-3 單擊按鈕就可執行巨集,結果如[表2],表示OK
4-4 另外再測試一次,將B6位置0.015改為0,意思無其他項,再執行count巨集,看B8 B9是否為4與 0,若OK,再次執行 data巨集與count巨集,恢復到4-3 狀態,準備進入第3講,自動排序並計算柏拉圖的累積折線資料。
<第2講 完>
沒有留言:
張貼留言