Board logo

標題: [發問] 加入自行抓取當天日期 [打印本頁]

作者: cowww    時間: 2023-5-10 10:30     標題: 加入自行抓取當天日期

=IF(IFERROR('\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\D.生產相關\2.每日模具異動\模具異動 B1+M5+M6+M7\2023\[MFMG3_33_47_53_MFMG5_6_7_126_163_173_174_量產模具異動.xlsm]排程'!$B1,"")=0,"",IFERROR('\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\D.生產相關\2.每日模具異動\模具異動 B1+M5+M6+M7\2023\[MFMG3_33_47_53_MFMG5_6_7_126_163_173_174_量產模具異動.xlsm]排程'!$B1,""))
上面那段可以抓到"模具異動 B1+M5+M6+M7\2023\[MFMG3_33_47_53_MFMG5_6_7_126_163_173_174_量產模具異動"裡面"B1"的資料

[attach]36326[/attach]
但是現在後面來的人把檔案名稱+日期

以下是我的寫法
=IF(IFERROR('\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\D.生產相關\2.每日模具異動\模具異動 B1+M5+M6+M7\2023\[MFMG3_33_47_53_MFMG5_6_7_126_163_173_174_量產模具異動&TEXT(TODAY(),"yyyymmdd"&.xlsm]排程'!$B1,"")=0,"",IFERROR('\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\D.生產相關\2.每日模具異動\模具異動 B1+M5+M6+M7\2023\[MFMG3_33_47_53_MFMG5_6_7_126_163_173_174_量產模具異動&TEXT(TODAY(),"yyyymmdd"&.xlsm]排程'!$B1,""))

請問這個寫法的錯誤在哪??
因為這個寫法抓不到資料
作者: 准提部林    時間: 2023-5-10 11:00

公式引用路徑不可以用文字串, 一般可用INDIRECT, 但外部引用不好用//
假設公式在 D 欄//VBA--取代法
SUB 公式取代()
  RANGE("D:D").REPLACE "_量產模具異動*.xlsm", "_量產模具異動" & FORMAT(DATE,"yyyymmdd") & ".xlsm", LOOKAT:=XLPART
END SUB
=========================
或者//在 H1 輸入指定日期:如 2023/5/10
SUB 公式取代2()
  RANGE("D:D").REPLACE "_量產模具異動*.xlsm", "_量產模具異動" & FORMAT([H1],"yyyymmdd") & ".xlsm", LOOKAT:=XLPART
END SUB


自行加按鈕執行
作者: 准提部林    時間: 2023-5-10 11:04

如果外檔 B1 是數值, 公式可改下//
=IFERROR(1/(1/'\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\D.生產相關\2.每日模具異動\模具異動 B1+M5+M6+M7\2023\[MFMG3_33_47_53_MFMG5_6_7_126_163_173_174_量產模具異動.xlsm]排程'!$B1&""),"")
作者: cowww    時間: 2023-5-10 11:29

回復 2# 准提部林

非常感謝准提部林大大的解惑

要抓日期的檔案公式放在P欄~T欄
[attach]36329[/attach]

這個撈取資料的檔案有寫VBA
主要是M567的檔案有日期的問題
其他的沒問題
Sub full_calc()

'定義時間
Dim s%
Dim T0
T0 = Timer

'更新異動表
'A
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$B1:$G1").Copy '複製
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$B6:$G300").PasteSpecial Paste:=xlPasteFormulas '貼上公式
  ' xlPasteALL全部
  ' xlPasteFormulas公式
  ' xlPasteValues值
  ' xlPasteFormats格式
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$B6:$G300") = Worksheets("異動表").Range("$B6:$G300").Value '改成值
'C
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$I1:$N1").Copy
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$I6:$N330").PasteSpecial Paste:=xlPasteFormulas
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$I6:$N330") = Worksheets("異動表").Range("$I6:$N330").Value
'M567
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$P1:$U1").Copy
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$P6:$U300").PasteSpecial Paste:=xlPasteFormulas
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$P6:$U300") = Worksheets("異動表").Range("$P6:$U300").Value

'LF
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$W1:AB1").Copy
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$W3:$AB300").PasteSpecial Paste:=xlPasteFormulas
  Workbooks("勿刪急件公式").Worksheets("異動表").Range("$W3:$AB300") = Worksheets("異動表").Range("$W3:$AB300").Value
'計算執行時間
  s = Int(Timer - T0)
  
'完成後的訊息方塊
  MsgBox "執行時間: " & s \ 60 & " 分 " & s Mod 60 & " 秒"
  
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)