返回列表 上一主題 發帖

[發問] 把檔名放在指定儲存格中

[發問] 把檔名放在指定儲存格中

本帖最後由 PJChen 於 2018-5-16 22:36 編輯

大大好,
我想把檔名+工作表名稱,放在程式所在的檔案 VBA報表指令
L8 把檔名放在這裡
M8 把Sheet名稱放在這裡
這純粹為了測試 指定儲存格為檔名是否可行,所以沒什麼其他功能,
但一直出現錯誤,可否請高手幫忙看看程式是哪裡出錯了? 感謝
  1. Option Explicit
  2. Dim Wb As Workbook, Wb2 As Workbook, Sh As Worksheet
  3. Sub 版面設定()
  4.    
  5. Set Wb = Workbooks(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("L8").Value) '儲存格的值為檔案名稱
  6. Set Sh = Workbooks(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("M8").Value) '儲存格的值為工作表名稱
  7. With Wb.Sh
  8. .Range("E1").Copy

  9.   

  10. End With
  11.    
  12. End Sub
複製代碼

回復 1# PJChen

版大早安,修正如下,再麻煩測試
  1. Option Explicit
  2. Dim Wb As Workbook, Wb2 As Workbooks, Sh As Worksheet

  3. Sub 版面設定()
  4.    
  5. Set Wb = Workbooks(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("L8").Value) '儲存格的值為檔案名稱
  6. Set Sh = Worksheets(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("M8").Value) '儲存格的值為工作表名稱

  7. With Wb.Worksheets(Sh.Name)
  8.     .Range("E1").Copy
  9. End With

  10. End Sub
複製代碼

TOP

回復 2# nolookyou

我把程式改為,但是無法執行!
  1. Option Explicit
  2. Dim Wb As Workbook, Sh As Worksheet
  3. Sub 版面設定()
  4.    
  5. Set Wb = Workbooks(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("L8").Value) '儲存格的值為檔案名稱
  6. Set Sh = Worksheets(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("L9").Value) '儲存格的值為工作表名稱
  7. With Wb.Worksheets(Sh.Name)
  8.     .Range("E1").Copy

  9. End With   
  10. End Sub
複製代碼
20180517.200810.jpg
2018-5-17 20:08

TOP

本帖最後由 PJChen 於 2018-5-17 22:20 編輯

回復 2# nolookyou

您好,
我來回試了很多次,最後改成這樣,就可以執行.
  1. Option Explicit
  2. Dim Wb As Workbook, Sh As Worksheet
  3. Sub 版面設定()   
  4. Set Wb = Workbooks(Workbooks("VBA報表指令.xlsm").Worksheets("VBA指令II").Range("L8").Value) '儲存格的值為檔案名稱
  5. Set Sh = Wb.Worksheets(Worksheets("VBA指令II").Range("L9").Value) '儲存格的值為工作表名稱
  6.   With Wb.Worksheets(Sh.Name).PageSetup  '若不需設定設定版面時,可以把.PageSetup省略

  7.     .LeftMargin = Application.InchesToPoints(0)  '左邊界
  8.     .RightMargin = Application.InchesToPoints(0)  '右邊界
  9.     .TopMargin = Application.InchesToPoints(0) '上邊界
  10.     .BottomMargin = Application.InchesToPoints(0)  '下邊界
  11.     .HeaderMargin = Application.InchesToPoints(0) '頁首
  12.     .FooterMargin = Application.InchesToPoints(0)  '頁尾
  13.     .Zoom = 200 '列印縮放

  14.   End With   
  15. End Sub
複製代碼

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題