- 帖子
- 216
- 主題
- 71
- 精華
- 0
- 積分
- 292
- 點名
- 0
- 作業系統
- window xp
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2012-6-27
- 最後登錄
- 2024-9-28
|
17#
發表於 2013-12-29 21:36
| 只看該作者
回復 16# c_c_lai
您好, 我用了下述程序都獨立儲存A123, B456是沒有問題的.
但因為我在PASSWORD SHEET內加了些資料, 讓A123, B456以VLOOKUP取資料, 不知是否這原因, 新開的A123檔案及B456檔案內, VLOOKUP的資料都變成了結#VALUE. 有方法解決嗎?
Sub Ex2() ' Hsieh & GBKEE
Dim f$, fd$, fs$, A As Range, Wb As Workbook
Set Wb = ThisWorkbook ' 活頁簿 :程式碼所在的
fd = Wb.Path & "\" ' 存檔的路徑
With Wb.Sheets("PASSWORD")
For Each A In .Range(.[A2], .[A2].End(xlDown))
' A : "A123" : Range/Range
' A : "B456" : Range/Range
' Sheets("PASSWORD").[A1] : "A123" : Variant/Object/Range
' Sheets("PASSWORD").[A1].End(xlDown) : "B456" : Variant/Object/Range
f = CStr(A)
fs = fd & f & ".xls"
Wb.Sheets(f).Copy ' 指定是哪一個活頁簿的工作表要複製
' Sheets(f).Copy 執行過後,複製了一活頁簿,內有一名為 "A123" 之工作表單。
' ActiveWorkbook.Name : "活頁簿1" : String
' ActiveWorkbook.Sheets(1).Name : "A123" : Variant/String
' Sheets(f).Copy 執行過後,複製了一活頁簿,內有一名為 "B456" 之工作表單。
' ActiveWorkbook.Name : "活頁簿2" : String
' ActiveWorkbook.Sheets(1).Name : "B456" : Variant/String
With ActiveWorkbook
.ActiveSheet.UsedRange = .ActiveSheet.UsedRange.Value
' FileFormat:=xlExcel8 Excel 2003版本 56; xlExcel12 version 12, or 14, or 15 = Excel 2007, or 2010, or 2013.
.SaveAs Filename:=fs, Password:=CStr(A.Offset(, 1)), WriteResPassword:="", FileFormat:=xlExcel8
.Close 0 ' 關閉 "D:\A123.xls" 活頁簿、"D:\B456.xls" 活頁簿。
End With ' 正式結束 (關閉)。
Next
End With
End Sub |
|