- 帖子
- 162
- 主題
- 44
- 精華
- 0
- 積分
- 244
- 點名
- 0
- 作業系統
- windows 7
- 軟體版本
- office 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-4-4
- 最後登錄
- 2022-10-3

|
6#
發表於 2011-5-7 15:17
| 只看該作者
本帖最後由 jesscc 於 2011-5-7 18:23 編輯
說得也是,我不知不覺就把人的思考帶進電腦裏了。
Hsieh 大大可以再幫我看一下嗎?
在最後,陣列轉移需求表資料的地方出現偵錯!可不可以幫我檢查一下是哪裡錯了嗎?是因為陣列無法轉移需求表裏的公式嗎?- Sub OpenFile1()
- FileToOpen = Application.GetOpenFilename _
- (Title:="開啟本週需求表", _
- FileFilter:="Matl Request *.xls (*.xls),")
- If FileToOpen = False Then
- MsgBox "必須開啟 需求表,工作才能繼續!", 48, "檔案未開啟"
- Exit Sub
- Else
- op = False
- fn = Split(FileToOpen, "\")(UBound(Split(FileToOpen, "\")))
- 'Var = MsgBox("確定是開啟這份需求表嗎?", 36, "請確認欲開啟之檔案")
- 'If Var = 6 Then
- For Each w In Windows '檢查檔案是否已開啟
- If w.Caption = fn Then op = True: Exit For
- Next
- If op = False Then Workbooks.Open FileName:=FileToOpen '如果視窗中沒有開啟需求表就開啟需求表
- Set aw = Workbooks(fn) '將需求表設給物件變數以利後續使用
- Workbooks("Main.xls").Activate
- Sheets("MRP").Range("D1").Value = fn '將需求表檔名寫入儲存格
- 'Else
- End If
- '陣列轉移需求表資料
- Workbooks(fn).Activate
- Dim Ay()
- For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
- For j = 2 To 14
- ReDim Preserve Ay(s)
- Ay(s) = Array(Cells(i, j).Value)
- s = s + 1
- Next j
- Next i
- Workbooks("Main.xls").Activate
- With Sheets("MRP")
- Cells(4, 14).NumberFormat = "dd/mm/yyyy"
- Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Resize(s, 13) = Application.Transpose(Application.Transpose(Ay))
- End With
- End sub
複製代碼 |
|