返回列表 上一主題 發帖

[發問] 依照報表投線量與UPH<每小時產能>計算開機數 -- 發問

本帖最後由 准提部林 於 2015-11-28 22:37 編輯

一天研究資料,一天尋思架構,一天寫程式,
本不想寫的(後續問題應不少,恐無法跟帖),僅能做到這裡,要放空了,
其它請自行努力看看∼∼

附檔下載:funp.net上不去, 只能提供這個下載址
ON開機數計算程式.rar (489.09 KB)
http://www.funp.net/451843

DEVICE 命名方式九彎十八拐,開幾條高速公路也沒用,
想辦法從源頭去規範才是最好方法∼∼

TOP

回復 10# v03586


報表的DATE TIME 並無[年度], 且為〔文字格式〕,11/08  16:31,
Split("11/08  16:31", " ")(0) 是取出 11/08,

若是以儲存格指定日期:
QDate = Format(Sheets("comply").[H13], "mm/dd")

若是固定為電腦日期的〔今天〕:
QDate = Format(Date, "mm/dd")

TOP

修改一下〔自訂函數〕,
看數據,DEVICE 似乎都以〔後面〕的節點為主,不過這還是概略的檢測法,無法百分百正確:

Function Get_Layer(xStr$) As String
Dim i%, j&, N%, U, T, TT$, Ta$, Tb$
T = xStr
For Each U In Array("02G", "04G", "08G"):  T = Replace(T, U, Mid(U, 2)):  Next
 
T = Split(T, "-")
For j = UBound(T) To 0 Step -1
  N = 0: Ta = "": Tb = ""
  For i = 7 To 1 Step -1
    TT = "-" & T(j)
    If N <> 5 Then
     N = InStr(TT, 2 ^ i & "G")
     If N > 0 Then If Not IsNumeric(Mid(TT, N - 1, 1)) Then Ta = 2 ^ i & "G": Exit For
    End If
  Next i
  If Ta = "" Then GoTo 101
 
  N = N + Len(Ta)
  For i = N To N + 2
    Tb = Mid(TT, i, 1)
    If Val(Mid(TT, i, 1)) Then Tb = Left(Val(Mid(TT, i)), 2): Exit For
    Tb = ""
  Next i
  If Tb <> "" Then Get_Layer = Ta & "*" & Tb: Exit Function
101: Next j
End Function

TOP

本帖最後由 准提部林 於 2015-11-30 10:27 編輯

報表〔CUSTNAME〕符合〔指定關鍵字〕,不加總該筆數量∼∼ 

If InStr(RepArr(j, 2), "ENG") Or InStr(RepArr(j, 2), "CSP") Then GoTo 101
改成如下: 
Dim x, XX
XX = Array("HQ-5F", "HQ5F", "HQ-2F", "HQ2F", "AT7F", "AT6F", "CSP", "ENG")
For x = 0 To UBound(XX)
  If InStr(RepArr(j, 2), XX(x)) Then GoTo 101
Next

TOP

回復 17# v03586


ON開機數計算程式_v2.rar (489.14 KB)

TOP

本帖最後由 准提部林 於 2015-12-2 10:23 編輯

回復 19# v03586

加入[右方]及[下方]合計:
ON開機數計算程式_v3.rar (447.46 KB)

再特別提醒:
〔取代法〕:Layer工作表的對照資料必須完整,且依〔數字大〕〔字元數多〕者排在最上方,不然還是問題
例如:8GAA1.8GAA16
若只有8GAA1,而漏了8GAA16,則8GAA16會被視為8GAA1而取代之,
或.8GAA1排在8GAA16前面,則8GAA16也會〔優先〕被8GAA1取代,
同理.8GAA1排在128GAA1前面,則128GAA1也會〔優先〕被8GAA1取代!

多花些時間去了解〔取代〕順序不同,所造成的結果差異∼∼這只能靠自己去邏輯推演∼

TOP

回復 22# v03586


若 KDRCK4MWGD-HAXHHH-HHQ 是一個完整的Device名稱,沒問題,
除非還有以下這些相近名稱,還是要注意其優先順序:
KDRCK4MWGD-HAXHHH-HHQR  = 6G*4
HKDRCK4MWGD-HAXHHH-HHQ  =6G*1
BKDRCK4MWGD-HAXHHH-HHQ2 =6G*2

另外,這些特別指定字串,其A欄的G數,不要輸入6,改為999,才會排在最上方!

TOP

回復 24# v03586


1.同一名稱不同製程?如何分類.加總,及列表?
2.有名稱,卻沒有製程參數可相除,數量/?/21.5,怎麼算?
3.EE欄部份有製程,部份則無,甚至不確定取出的製程是否完整?
  不是小問題,比對看看檔案中〔報表〕的G欄及H欄: ON開機數計算程式_v4.rar (215.09 KB)

近年底較忙,可能較沒時間跟帖,看是超板或其他大大可幫忙接手∼∼∼∼

TOP

回復 26# v03586


找不到完全對策, 趁還有空檔修改一下:
ON開機數計算程式_v4.rar (482.11 KB)

程式是無料,但最終還是需要〔人工〕加料處理∼∼

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題