==============此為廣告欄位,與文章內容無關==============
==============此為廣告欄位,與文章內容無關==============
EXCEL VBA.在檔案開啟時,將〔工時表檔案〕自動更新至本檔案
<.准提部林.>
---------------------------------
範例檔簡介:
■主要需求:
〔製程工時〕檔案為其他〔成品表〕檔案共用的資料來源,
如何在〔編輯.更改〕後,其他檔案也自動更新其資料。
■解決方案:
1.利用〔更新〕程式,在其他〔成品表〕檔案開啟時,
即自動將〔製程工時〕當前資料載入本檔。
2.也可以〔手動〕方法執行更新。
■程式碼:
Sub 更新工時表()
Dim xBook As Workbook, xSht As Worksheet, uRow&
Dim uFile$, uBook As Workbook, uSht As Worksheet
Set xBook = ThisWorkbook
Set xSht = xBook.Sheets("工時表")
uFile = ThisWorkbook.Path & "\製程工時.xls"
If Dir(uFile) = "" Then MsgBox "※找不到〔製程工時〕檔案! ": Exit Sub
Application.ScreenUpdating = False
For Each uBook In Workbooks
If LCase(uBook.Name) = "製程工時.xls" Then Exit For
Next
If uBook Is Nothing Then
Workbooks.Open uFile
Set uBook = ActiveWorkbook
End If
For Each uSht In uBook.Sheets
If uSht.Name = "製程工時" Then Exit For
Next
If uSht Is Nothing Then MsgBox "※找不到〔製程工時〕工作表! ": Exit Sub
uRow = uSht.[A65536].End(xlUp).Row
If uRow = 1 Then MsgBox "※〔製程工時〕工作表A欄無資料! ": Exit Sub
uSht.Range("A:C").Copy xSht.Range("A:C")
xBook.Activate
xSht.Range("F1") = "更新時間:" & Format(Now(), "yyyy.mm.dd hh:mm:ss")
uBook.Close savechanges:=False
Beep
End Sub
■公式:
在〔成品表〕的〔工時欄〕,則以如下常駐公式自動更新。
D4公式,下刷至所需列數:
=IF(B4="","",IF(COUNTIF(工時表!$A:$A,B4),VLOOKUP(B4,工時表!$A:$C,3,0)&"",""))
--說明--
1.若〔工時〕只依〔品號〕取得相對應值,請使用〔版本(1)〕範例,
但〔品號〕若有〔重覆〕,則其取得資料皆為〔第1筆〕
2.若〔工時〕同時還要參照〔品名〕,請用〔版本(2)〕 範例。
---------------------------------
<範例檔>:
以下內文出自: http://tw.knowledge.yahoo.com/question/question?qid=1612031203212
今日特價
---------推薦每日奇摩購物中心好康商品-----------
本文內容引用自奇摩知識+,圖文版權為原所有人所有,如有任何侵權違規行為請馬上告知站長!將馬上處理!謝謝!
留言列表