返回列表 上一主題 發帖

[發問] 多張工作表另存活頁簿及抓住預設密碼

[發問] 多張工作表另存活頁簿及抓住預設密碼

[發問] 多張工作表另存活頁簿及抓住預設密碼
各位專家
本人正學習VBA, 請問如在活頁簿內有3張工作表
第1張工作表名為"PASSWORD",  已列出A123的PASSWORD在B1, B456的PASSWORD在B2
第2張工作表名為A123
第3張工作表名為B456

請教VBA寫法:
第2張工作表名為A123另存一個名為A123的活頁簿,. 並能取工作表名"PASSWORD"內的B1內的成為活頁簿密碼, 並只存文字的值及格式
第3張工作表名為B456另存一個名為B456的活頁簿,. 並能取工作表名"PASSWORD"內的B2內的成為活頁簿密碼, 並只存文字的值及格式

有労賜教!

回復 2# GBKEE



您好, 第一個檔案無問題, 但開啟第二個檔案時, 均說密碼不符. 已試驗兩次及用不同密碼也不行.:(  第二個檔案的密碼是存在B2儲存格內).

此外, 現在只是存兩個檔案, 但如果有20個檔案, 是否要將20個榴案的名字都輸入在程式內.
**For Each E In Array("a123", "b456"......."第20個檔")

多謝!

TOP

回復 5# Hsieh

顯示偵錯COPY方法失敗 ->    Sheets(f).Copy

我作錯了甚麼?:Q

TOP

回復 10# Hsieh

其實我想上傳RAR或ZIP檔問多一點, 但每次點選檔案後, 按"上傳"鍵都沒有反應, 是甚麼原因呢?

很苦惱:dizzy:

TOP

回復 9# c_c_lai

您好, 現在才有時間測試.  是可以另存新檔案, 但原有程式未能以值顯示, 全部是#VALUE ?

請問 Dim f$, fd$, fs$, ...當中f 是指定碼還是任何英文字也可代替?
另如SHEET :PASSWORD  內的A123PASSWORD 由第二ROW起, 程式碼有沒有改變?(我試過將第1ROW加上HEADING, 有點問題)

有勞大大。

另外我不知何解, 我始終不能上載檔案, 我的畫面與大大的顯示有不同。

TOP

回復 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

TOP

回復 18# c_c_lai
好的, 明白上班試上傳, 因我家裡的電腦做不到.

麻煩您.

TOP

RE: 多張工作表另存活頁簿及抓住預設密碼

回復 19# missbb

TOP

pay.zip (12.49 KB) 回復 19# missbb
已上傳, 麻煩查看.

TOP

回復 18# c_c_lai
您好, 我上傳了, 但貼在第3頁內, 有勞查看.

TOP

        靜思自在 : 手心向下是助人,手心向上是求人;助人快樂,求人痛苦。
返回列表 上一主題