函數+VBA,詳細講解用EXCEL做工藝流程管理系統(vba的3種流程控制結構)
用EXCEL做工藝流程管理系統
主要內容: 工藝流程管理系統的設計、數據錄入、數據更改、數據查找以及基礎數據的維護。
工藝流程管理系統的設計:包含界面設計和流程設計,因為每個公司或行業的工藝流程都存在差異,所以本次以上期發布的作品為例進行講解。
數據錄入:本文采用VBA的方式(含代碼注釋)
數據更改:當相同項目名(項目名為唯一值)錄入時,系統自動刪除原有數據,并錄入新數據。
數據查找:數據查找采用函數公式的方式完成。
基礎數據維護:基礎數據維護采用直接修改基礎數據所在工作表內容。
1、基礎數據:
1.1 首先我們在EXCEL中新建一個工作表,如下圖所示。將包含的項目名一一列出在表一中,將我們所需要設計到的工序名和設備名羅列在表二中,并將對應工序或設備需要控制的關鍵參數橫向羅列在表中,如下圖所示。
1.2 創建“項目名”名稱管理器:選中表格—公式—根據所選內容創建定義的名稱—首行—確定。
1.3創建“設備名”名稱管理器:選中表格—公式—根據所選內容創建定義的名稱—首行—確定。
1.4基礎數據創建好后可直接進入下一步,如果后期有需要更改或增加的信息可直接在表一和表二中修改即可。
1.5 在開始之前先創建選圖的所有表格,方便后期數據錄入與查找。
2、信息錄入界面設計:信息錄入界面這里以上一期發布的作品為例。首先新建一個工作表,命名為“工藝流程維護”,再按照下圖的方式在工作表中劃定對應區域。這里可以根據工序的數量增加。下圖設計為6道工序。
2.1 關鍵參數:對應的關鍵參數信息在鋼網維護的基礎數據內,下面我們就講解如何在我們選擇對應的工序或設備名后,自動顯示對應的關鍵信息。
2.2 工序名或設備名的選擇:按下圖順序依次選擇對應單元格—數據—數據驗證—序列– =INDIRECT($F$8)—確定。創建設備名的下拉選擇框。按照同樣的方式完成后面5個單的設置。
2.3 創建完后可下拉選擇基礎數據內的設備名。
2.4 對應設備的關鍵參數讀?。喝缦聢D所示,選擇對應設備后自動讀取對應設備的關鍵參數。這里通過查找函數“vlookup”來實現。
2.4.1 查找函數:在選擇關鍵參數的第一個單元格輸入公式:=IFERROR(VLOOKUP($F$9,下拉信息!$F:$K,2,FALSE),"")
在選擇關鍵參數的第二個單元格輸入公式:= IFERROR(VLOOKUP($F$9,下拉信息!$F:$K,3,FALSE),"")
在選擇關鍵參數的第三個單元格輸入公式:= IFERROR(VLOOKUP($F$9,下拉信息!$F:$K,4,FALSE),"")
在選擇關鍵參數的第四個單元格輸入公式:= IFERROR(VLOOKUP($F$9,下拉信息!$F:$K,5,FALSE),"")
在選擇關鍵參數的第五個單元格輸入公式:= IFERROR(VLOOKUP($F$9,下拉信息!$F:$K,6,FALSE),"")
公式注釋:在下圖選中區域去查找F9單元格的值(F9單元格為上圖的設備名),然后返回查找值對應行的第2行的值。
2.4.2 按照同樣的方式,將公式復制到后面5列的關鍵參數區域即可。
2.5 創建項目名的下拉菜單:按照下圖的順序首先選擇要創建項目名的單元格—數據—數據驗證—序列–=INDIRECT($C$8)—確定。
2.6 錄入和清除按鈕:依次選擇 開發工具—選擇按鈕—拖動按鈕。修改按鈕的名字為錄入。并復制一個改名為清除。
2.7 插入模塊 依次選擇開發工具—visual—鼠標右鍵單擊空白處—插入—模塊
2.8 清除代碼:新建一個清除的宏, 輸入下圖的代碼即可
2.8.1 代碼注釋:
Sub 清除() 新建一個清除的宏
Sheet1.Range("f9:u9") = "" 將Sheet1(工藝流程維護)工作表F9到U9區域的值清除。
End Sub 結束宏
2.9 錄入代碼:錄入代碼是將下圖紅色區域(關鍵參數對應的數據)錄入到指定工作表中,方便后期的查詢。
2.9.1繼續在下面創建一個錄入代碼的宏。
2.9.2 代碼注釋:代碼運行的邏輯見下圖,由于篇幅限制這里不再一一翻譯,有興趣的小伙伴可聯系我單獨討論哦。
3、工藝流程查看:首先新建一個“工藝流程查看”的工作表。然后按下圖的方式劃定對應區域。這里所有查詢信息均以函數公式的方式實現。
3.1 按照上面講解的方式創建項目名的下拉信息。
3.2 通過VLOOKUP去查找對應項目名的設備:
圖一
圖二
3.2.1 在查找單元格輸入公式:=IFERROR(VLOOKUP($C$6,數據源!$A:$K,2,FALSE),"")
3.2.2 公式大概意思是:在數據源的A列到K列區域(圖二)中去查找C6(圖一項目名所在單元格)的值,并返回查找值所在行的第二行的值。其中IFERROR的作用是查找返回錯誤值時返回空值。依次將所有公式復制到對應的設備單元格即可。這里講解不是很詳細,如果對VLOOKUP函數不是很了解的話可能不是很容易理解,有興趣的話可以網上查看一下VLOOKUP函數的教材或聯系小編交流。
3.3 關鍵參數讀?。哼@里主要用到MATCH函數,if函數和OFFSET函數。
圖三
圖四
3.3.1 通過OFFSET函數返回第一個關鍵參數的值=IF(OR(F6=0,F6=""),"",OFFSET(關鍵參數表!$C$1,關鍵參數表!$G$1,ROW()-7))
通過match函數查找對應項目的行號。=IFERROR(MATCH(工藝流程查看!$C$6,關鍵參數表!$A:$A,0),1)-1(這里熟悉的話可以將兩個函數寫在一起)
3.3.2公式注釋:以上公式的意思就是從圖四的C1單元格從下移動G1(圖四單元格)鎖對應的值(圖片對應的值是下移19行)。然后向右(列號)移動圖三(G7單元格所在行號-7)0列(因為G7對應的行號是7,再減7,所以是0)。
3.3.3 通過同樣的方式將公式復制到所有的關鍵參數對應的單元格內即可。
結語:由于篇幅限制,這里不一一講解函數的運用。如果上期分享有獲得作品的小伙伴可自行學習研究。也可以根據本文的講解進行修改以便適用于自己。好啦,本期就分享到這里!
有喜歡本文的可點贊、轉發、評論支持哦。希望大家多多支持!