顯示具有 製造業 標籤的文章。 顯示所有文章
顯示具有 製造業 標籤的文章。 顯示所有文章

2018年2月1日 星期四

VBA在管理系統的運用實例(一)

這個月過年,新年初始,小卒也順應一下新年新氣象,以小卒的程式碼呈現EXCEL VBA在管理系統的運用。一直以來,都有客戶或網友詢問系統的程式碼,VBA高手在民間,但我們別緻之處在於系統中的架構設計,再輔以對應的VBA程式。值得很驕傲的對設計師說,辛苦了!憑著對產業的基本了解,靠著與客戶的耐心溝通,利用對程式設計的扎實功底,小卒工作室真的是做了很多行業的管理系統,傳統的製造業、新興的電子業、餐飲業、蓄牧業,從菜市場到日常百貨商品,還涉獵到監獄,也走進慈善團體,不可思義。所以這次開始關於程式的貼文,其一是對客戶要求的回應;其二,希望有同好交流,對VBA程式有興趣者,可將小卒程式碼擴展、發揮到更多的用途。
小卒可以說是從YAHOO的知識+開始,一步一腳印,從一無所知的找單方式,到每天趴在電腦前刷新提問區,希望可以第一個回答到關於系統的提問;從免費設定EXCEL函數開始,到第一筆客戶主動匯入的茶水費;從VB+ACCESS轉戰至EXCEL+VBA入門,到每天都有系統新程式的發展;從開放的系統規格,到不付款的客戶;藉由知識+內同好尋找答案,給答題者匯去小小一筆感謝費,到聯手會計專長的高手,一起合作客戶的案子;從操作介面的設計步步完善,到定調以量身打造為系統設計的主軸。
記得1112點的一個晚上,曾是客戶的上海台商發來訊息,他在找一個計算的設定,很急!當下我們也是無解,馬上到知識+,竟意外找到知識長出來救火。一路走來,感謝知識長、worlon、老年人、大流士等等。
也是三更半夜響起的電話鈴聲,夜班的客戶在操作系統出現問題,沒有系統全部工作停擺,網路連起在遠方的小卒,當然是排除問題,讓驚訝的客戶滿意而嘆。
也有客戶曾經好奇的問,你們寫這麼多CASE,應該有10多位設計師吧;
還曾收到微軟的MAIL,詢問我們的EXCEL,當下第一個反應是,我們是用正版的喔,以為是遇到抓盜版的人。原來對方是微軟的一位項目經理,負責EXCELVBA適用於中小企業的範本設計,有網友介紹他看我們的部落格,然後他寫MAIL詢問我們設計等相關事宜。不知道現在若他看到我們將呈現的VBA程式碼,會做如何感想?
行文到此,來看主角。今天我們來介紹客戶資料的建檔,直接以貼圖和程式碼來說話:



Sub 客戶的資料儲存()
Application.ScreenUpdating = False
Dim i, j, k As Long
Dim m0, cif, last As Long
Dim rsf, rc, rs, rt As Long
Dim y, m, d1, d2, n, s, t As Variant
Dim r As Long
Sheets("客戶").Select
ActiveSheet.Unprotect Password:="******"
Cells(1, "N") = "資料儲存"
s = Cells(22, "G")
t = Cells(23, "G")
last = Cells(1, "H")
m0 = Cells(2, "H")
cif = Cells(3, "H")
If s = "" Then
    MsgBox "客戶編號須有資料!"
Else
If m0 > 0 Then
    MsgBox "已有 ( " & s & " ) 的客戶編號!"
Else
If Cells(23, "G") = "" Then
    MsgBox "客戶名稱須有資料!"
Else
If Cells(5, "H") > 0 Then
    s = Cells(23, "G")
    MsgBox "客戶名稱 ( " & s & " ) 資料庫已有記錄!"
Else
If Cells(2, "J") > 0 Then
    MsgBox "客戶編號已有 ( " & s & " ) 的編號,兩者不可重複!"
Else
If Cells(5, "J") > 0 Then
    s = Cells(23, "G")
    MsgBox "名稱 ( " & s & " ) 客戶資料庫已有記錄!"
Else
    Sheets("基本資料").Visible = True
    Sheets("客戶").Select
    Range("Q1:Q18").Copy
    Sheets("基本資料").Select
    Cells(last + 1, "A").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
 '"客戶資料"內編號排序
    Range(Cells(3, "A"), Cells(last + 5, "R")).Select
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, _
    Header:=xlNo
    Sheets("基本資料").Visible = xlVeryHidden
 '清除畫面,以預設範圍複製貼上
    Sheets("客戶").Select
    Range("E7:M15").Copy
    Range("E22").Select
    ActiveSheet.Paste
 '使用函數的情形
        last = Cells(1, "H")
        rs = Cells(2, "C")
        rYes = Cells(3, "C")
        If rYes < 5 Then
            Cells(rs, "C").Copy
            Range(Cells(rs + 1, "C"), Cells(rs + 5, "C")).Select
            ActiveSheet.Paste
        End If
    Cells(21, "C") = ""
    Cells(2, "N") = "資料儲存"
End If
End If
End If
End If
End If
End If
Sheets("客戶").Select
Application.CutCopyMode = False
ActiveSheet.Protect Password:="******"
Range("A3").Select

End Sub

2016年12月2日 星期五

製造業時間換成本的管理系統

麻雀雖小,五臟俱全。就算是一人工作室,工作流程還是按步就班的逐一完成,其中一項若沒有確實的完成,比如採購單忘了下給廠商或出貨漏了一筆請款,都會影響到最後的利潤。若是單純的記在EXCEL內,日積月累,通常也是N多的檔案和無數長的活頁簿。若要找點資料,想也知道,過程一定好似爬天書般的辛苦。
所以還是需要有管理系統的輔助,才會讓工作變得有效率。每次都僅需要輸入基本的原始資料,所有的查詢都可一指完成。但說到尾還有一個很關鍵的問題要先解決,設計費用! 如果一次寫完以下所有功能,一次付出的費用自然不低,但如果是換個方式,先寫一部份最重要的,比如出貨單和收款,先抓住最賺錢的資訊,後續再來新增訂購單、製成過程等,因為每次都是依實際的要求量身設計管理系統,不必擔心會花錢買到不需要的資料,也不會影響後續新增的軟體功能,以時間換成本的概念,逐步的將整個工作流程完善並電腦化,真正的做到輕鬆付費,簡單操作,有效管理的目的。

通常製造業,比如電子廠、印刷廠、鞋子加工廠、來料加工等工廠的工作流程如下:
1. 建客戶基本資料
2. 建貨品基本資料
3. 建廠商基本資料
4. 輸入客戶每次的報價單
5. 由報價單確認,由系統直接轉為客戶訂單    
6. 由客戶訂單轉出各廠商的採購單
7. 由客戶訂單轉入製程資料,增加此客戶產品的庫存量
8. 由客戶訂單轉入出貨單,扣減此客戶產品的庫存量
9. 由出貨單,查詢交貨區段日期和客戶名稱,做出請款明細和請款單
10. 依請款單,輸入客戶的入帳資料
11. 查詢客戶產品的庫存資料
12. 查詢客戶報價資料
13. 查詢客戶訂單資料
14. 查詢採購資料
15. 查詢客戶應收、已收、未收金額
16. 貨品庫存隨時更新顯示
17. 也可做需要的各成本分析表格
18. 現金流的管理資料


說明:
1. 系統內名稱前後需保持一致
2. 先建的資料,在後面若重複用到,會以下拉選單選取的方式,比如客戶名稱,不必重複打字輸入
3. 先建的資料,比如客戶電話等,會由選取的客戶名稱自動產生,不必重複打字輸入
4. 每個可查詢的內容,都是由前面已輸入過的資料所產生. 所以前後資料都互有關連性

‧‧‧‧‧‧
隨時簡單的建立各基本資料,隨時都可以輕鬆簡單的查詢需要的數據和報表,而且是可以依各人、各公司的實際需求,做相應的功能擴充或修改等設計,量身訂製出真正完全適合的專屬管理系統。簡單、好用,輕鬆管理,請隨時連絡:
         SKYPE:   oli577_358
        E-mail :   oli577@yahoo.com(沒有TW喔)