[算表] VBA將資料依欄位新增於特定工作簿/工作表
軟體: Office
版本: 2007
最近才剛接觸EXCEL VBA這個領域,所以使用上還很初階又生疏
但剛好工作上遇到一個專案需要透過VBA來做才會比較有效率
問題描述:
公司業務每日需寫業務行程日誌,檔案格式固定如下
日期 業務名 產業 客戶 廠別 模組 Team
----------------------------------------------------------------
2015/11/3 Amy 半導體 台積電 12廠 蝕刻 POLY
2015/11/3 Ray LCD 友達 龍潭 濕蝕刻 ─
希望透過VBA做到以資料自動分類去特定檔案
而檔案的規則如下
客戶+廠別做為工作簿檔名
工作簿內的工作表則是以模組+Team命名
依據每一列的資料欄位去寫入該工作簿工作表
若該工作簿的名稱不存在,則新增一個以"客戶+廠別"為檔名的工作簿(如.台積電12廠)
若該工作簿裡不存在那個"模組+Team"的工作表(如.蝕刻POLY)
則新增一個以"模組+Team"為檔名的工作表
原始要分類的檔案如下
https://goo.gl/nfyXLa
目前初步撰寫的VBA程式碼如下
問題
1.在新增工作簿時遇到困難
2.檔案命名不知道是否可以兩個值結合命名
---------------------------------------------------------------------------
Sub wrkbkadd1()
'本段有困難,不知如何新增特定名稱的工作簿,目前只是照樣造句仿新增工作表而已
Dim k As Integer, wrk As Workbook
k = 2
Set wrk = Workbooks("業務日誌")
Do While wrk.Worksheets.Cells(k, "D").Value <> ""
On Error Resume Next
If Workbooks(wrk.Worksheets.Cells(k, "D").Value) Is Nothing Then
ActiveWorkbook.Worksheets.Add
With Workbook.Name = wrk.Worksheets.Cells(k, "D").Value
End With
End If
ActiveWorkbook.Close savechanges:=True
Loop
End Sub
------------------------------------------------------------------------
Sub shtadd1()
'依據模組的欄位新增分頁,並且自動分類至該分頁
Dim i As Integer, sht As Worksheet
i = 2
Set sht = Worksheets("業務日誌")
Do While sht.Cells(i, "F").Value <> ""
On Error Resume Next
If Worksheets(sht.Cells(i, "F").Value) Is Nothing Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = sht.Cells(i, "F").Value
End If
i = i + 1
Loop
End Sub
---------------------------------------------------------------------------
Sub feilei到分頁()
'把模組和TEAM分到各個工作表中
Dim i As Long, bj As String, rng As Range
i = 2
bj = Cells(i, "F").Value
Do While bj <> ""
Set rng = Worksheets(bj).Range("A65536").End(xlUp).Offset(1, 0)
Cells(i, "A").Resize(1, 12).Copy rng
i = i + 1
bj = Cells(i, "F").Value
Loop
End Sub
----------------------------------------------------------------------------
希望我有把問題陳述清楚
請版上的高手們指點一二
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.244.227
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1447817984.A.467.html
※ 編輯: cyserica (114.32.244.227), 11/18/2015 11:41:13
→
11/18 11:53, , 1F
11/18 11:53, 1F
→
11/18 11:55, , 2F
11/18 11:55, 2F
→
11/18 11:56, , 3F
11/18 11:56, 3F
→
11/18 12:08, , 4F
11/18 12:08, 4F
→
11/18 12:09, , 5F
11/18 12:09, 5F
謝謝您的熱心回覆
我會參照您的建議先進行修改試試
謝謝
※ 編輯: cyserica (114.32.244.227), 11/18/2015 12:51:46
Office 近期熱門文章
PTT數位生活區 即時熱門文章