生產排程表,Excel vba自動排程計算學習研究

2021-01-08 江覓易見

文/江覓

生產排程在生產過程中是一個相對繁雜的工作,用excel來做排程計算,感覺十分困難。其中許多日期和數據計算,關聯性比較多,所以存在許多的條件設定。

這個表格可完成5天之內排程計算功能,本想做更多天自動計算排程,但是由於對這方面沒有深入體會和實際應用,未能實現,同時應用過程中也難免存在一些沒有考慮到的問題。

此表數據完全自動化計算,只需要輸入訂單數量即可,其它數據會自動計算出來,這是我最滿意的方面。

完全自動化也有某些弊端,可操作性雖然簡單了,也固化了一些格式,不能自由修改。下一步對一些不可修改項進行處理,可能會更人性化,擴充更多計劃排程天數。

設置頁相對內容少一些 ,為以後做表單式輸入提供自定義參數。

使用自定義參數可以大大降低使用過程中出現的BUG,也是為了更好的操作體驗,簡化鍵盤錄入操作而製作。雖然在編程過程中增加了很多麻煩,但在程序應用過程中會得到很好的應用便捷。

部分代碼

Private Sub Worksheet_Change(ByVal Target As Range)If VBA.Left(Target.Address, 2) = "$E" ThenDim cr(0 To 4)For i = 0 To 4cr(i) = "$E$" & i + 2Next iDim x As VariantDim r As Integer, topR As IntegerDim C As Integer, endC As IntegerDim iRow As Integer, iCol As IntegerDim iDay As VariantDim Pday As IntegerPday = 5Dim rkeys As Range, iR As RangeFor Each x In crIf x = Target.Address TheniRow = Target.RowiDay = Me.Range("I" & iRow).Value / Me.Range("K" & iRow).ValueIf Me.Range("U" & iRow) > iRow Then MsgBox "訂單太多,沒辦法生產!": Exit SubIf iDay > Pday Then MsgBox "計劃超出天數!": Exit SubIf Me.Range("K" & iRow).Value > Me.Range("j" & iRow).Value Then MsgBox "產能不足!": Exit SubIf Me.Range("I" & iRow).Value <= 0 Then MsgBox "庫存足夠,無需排程!": Exit SubIf Me.Range("K" & iRow).Value > Range("I" & iRow).Value ThenWith Me.Range("P" & iRow & ":T" & iRow).Value = "".Interior.Color = RGB(221, 221, 222)End WithMe.Range("P" & iRow).Value = Me.Range("I" & iRow).ValueWith Me.Range("Q" & iRow & ":T" & iRow).Value = "".Interior.Color = RGB(221, 221, 222)End WithExit SubEnd IfSet rkeys = Worksheets("設置").Range("A2:A6")Set iR = rkeys.Find(Me.Range("N" & iRow).Value)If iR Is Nothing Then MsgBox "No": Exit Subr = iR.RowSelect Case rCase 2topR = 16Case 3topR = 17Case 4topR = 18Case 5topR = 19Case 6topR = 20 End SelectendC = Me.Range("U" & iRow).Value '''天數''''''''''''''''''''''''''''''''''''''''''''''''''''' 清空數據With Me.Range("P" & iRow & ":T" & iRow).Value = "".Interior.Color = RGB(221, 221, 222)End With'''''''''''''''''''''''''''''''''''''''''''''''''''''Dim s As Integer, xValue As Variants = endCFor i = topR To topR + endC - 1Me.Cells(iRow, i).Value = Me.Range("K" & iRow).ValueWith Me.Cells(iRow, i).Interior.Color = 12354545End WithNext i 'End IfNext xMe.Cells(iRow, i - 1).Value = Me.Range("I" & iRow).Value - Me.Range("K" & iRow).Value * (s - 1)End IfEnd Sub

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 用Excel VBA將生產工藝流程圖形化
    這兩天接觸到一個非常有趣而實在的應用:如何將一些複雜而錯綜的流程,先用文字描述出來,寫好從屬關係,進而自動生成流程圖、組織機構圖等。 具體的需求是:將BOM表裡面的工藝流程,通過網絡Excel平臺的取數功能,直接組合成一個帶有流程標識的文字,如:主01 DWG01 長U管自動彎管 60"/臺,次1-1 CCZ01 高速衝片 120"/臺。
  • 悠樺林高級生產計劃與排程,企業智能生產的「魔棒」
    要想在汽車製造行業數位化轉型中開疆擴土,高級生產計劃與排程(APS)成為了這家國內汽車大佬戰略調整的焦點,博世華域意識到APS能夠提高生產運營效率和協同化管理全國生產基地,是幫助實現宏偉藍圖的必要途徑,在眾多高級計劃與排程提供商中,博世華域希望能夠找到一家長期合作的夥伴,既能提供智能高效排產解決方案,滿足中長期到短期日計劃自動排程排產需求,又能夠理解中國本土汽車製造業務運作模式和個性化需求
  • 悠樺林高級生產計劃與排程,企業智能生產的「魔棒」 - IT業界_CIO...
    要想在汽車製造行業數位化轉型中開疆擴土,高級生產計劃與排程(APS)成為了這家國內汽車大佬戰略調整的焦點,博世華域意識到APS能夠提高生產運營效率和協同化管理全國生產基地,是幫助實現宏偉藍圖的必要途徑,在眾多高級計劃與排程提供商中,博世華域希望能夠找到一家長期合作的夥伴,既能提供智能高效排產解決方案,滿足中長期到短期日計劃自動排程排產需求,又能夠理解中國本土汽車製造業務運作模式和個性化需求
  • Excel vba工作表事件【實現快速自動隱藏工作表】
    工作表事件實現快速自動隱藏工作表就可以實現,隱藏哪一個工作表,選中哪一個工作表後面的狀態後,工作表自動隱藏或者不隱藏。關注公眾號,帶你每日學習VBA,從枯燥機械的工作中解放雙手。每天學點excelvba一個乾貨滿滿的公眾號,期待你的關注
  • 如何做一個可執行的生產計劃排程?
    在具備了生產計劃排程的數據條件之後,如何能制定出一個可執行的計劃,成為生產計劃排程人員頭痛的問題,因為面對紛繁複雜的工序邏輯關係,面對有限能力的資源競爭,再聰明、再有豐富經驗的生產計劃排程人員也無法準確的計算出每道工序的工作時間。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    最後,定義一個方法,讓vba調用。如下圖:這個方法的上方套上一個 xlwings 的裝飾器 @xw.func。表示這個方法需要註冊到 Vba 模塊中。而上述命令行只是把這個 xlam 文件放入你的 excel 加載項目錄中而已。然後,在你的任意目錄中打開命令行。執行以下語句,即會生成一個 py 文件和一個 帶宏的 excel 文件。
  • excel如何實現更改數據就自動填充顏色的功能?你需要用到它
    Hello,大家好,工作中是不是有遇到這樣的情況,當我們做好的表格發給領導後,領導修改了下說可以了,但是因為數據太多,不知道修改了哪裡,十分的鬱悶,今天就跟大家分享下在excel中如果別人更改了單元格就會自動的填充顏色實現這樣的功能我們需要使用
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    帶你用pandas玩轉各種數據處理前言在本系列的上一章已經介紹了如何讀寫 excel 數據,並快速進行匯總處理。但有些小夥伴看完之後有些疑惑:那只是簡單讀寫數據而已,有時候需要設置 excel 的格式。
  • EXCEL學習的順序是什麼?
    一、首先要了解excel的各大功能,基礎的有複製,粘貼,數據有效性,條件格式;然後就是函數,函數要學sumif,sumifs,countif,countifs,vlookup,再深點就學offset,match,index等等。
  • 新春福利8:Excel與VBA學習網站集粹
    下面是我整理的一些Excel與VBA學習的國外網站,我經常在這些網站上瀏覽並學習,完美Excel上的一些文章就是我通過學習這些網站上的文章整理的學習成果和心得。 MrExcel.comhttps://www.mrexcel.com/大名鼎鼎的「Excel先生」Bill Jelen,不用太多介紹,他編寫並出版了大量的圖書,其網站有著豐富的學習資源。
  • 【經典文章】APS排程(Advanced Scheduling)入門原理
    高級排程(Advanced Scheduling)是實時的、動態集成的、基於內存計算,主要用於車間訂單工序的排程。
  • WPS教程:excel新手入門VBA功能使用介紹
    Excel教學:今天和大家分享一下excel中vba的使用方法入門,相信很多使用該軟體的朋友們對此都很感興趣,下面就和大家來分享一下,希望可以幫助到大家。4.輸入如圖所示的代碼:5.保存文件,按下F5執行,找到我們編輯的這個宏,【計算銷售額】,然後點擊【運行】寫在末尾——總結一下WPS用起來還是十分簡單的,後面也會出更多的EXCEL系列教程和其他知識分享。
  • Excel表格中如何把行轉成列或者說把多列轉多行,Excel置換
    在excel表格中,我們會碰到需要把行變成列,或者是把列變成行的情況,  後續可以對置換後的內容,進行美化,比如居中,添加邊框等操作。
  • excel函數公式大全之利用DAVERAGE函數自動計算產品金額平均值
    excel函數公式大全之利用DAVERAGE函數自動計算產品金額平均值。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數DAVERAGE函數。
  • 計劃排程工具APS是否值得企業投資
    當生產過程複雜時,製造型企業通常可以從計劃排程解決方案中受益,例如計劃排程工具APS。但是生產過程的複雜性到底體現在哪裡?可從計劃排程解決方案中受益的主要有兩類生產過程複雜性:ERP提供了複雜的訂單結構(例如,生產訂單含有大量工序,這些工序又需要進行詳細的計劃)。
  • EXCEL學習筆記之VBA
    如果加上Option Explicit則變量必須先聲明後使用2、設置函數為易失性函數,讓自定義函數也能重新計算 4、在vba中直接使用工作表函數要加前綴Application.WorksheetFunction
  • vba第十八課
    vba第十八課調用工作表函數在vba中我經常會對工作表的數據進行一些運算,雖然通過代碼進行循環或判斷也可以完成,但是通vba調用函數可以更簡單更直接進行運算提高代碼的運行效率,比如countif、sumif等需要進行判斷統計和求和的運算。
  • VBA編程理論學習之談
    所以,在實際應用中遇到哪些對象就對應去掌握這些對象的方法和屬性就可以,不需要完全學習。既浪費時間又沒有意義。鑑於對Excel的整理和學習,很有必要對這個月來的學習經過總結一下。有些是解決基本應用需求,也有一些是Excel vba基礎的對象以及屬性功能介紹。總的來說,這個月有一些進展,也有一些心得和知識積累。有幾篇比較不錯的文章持續得到展示和瀏覽,說明這方面還是做到了大多數關注。
  • EXCEL函數公式大全利用TODAY函數與DATEDIF函數自動計算員工工齡
    EXCEL函數公式大全之利用TODAY函數與DATEDIF函數的組合自動計算員工工齡。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數TODAY函數與DATEDIF函數。