Bài toán VBA trong Excel

Tôi có đoạn mã sau để kích hoạt một trang tính có tên nằm trong ô A3 và A5 của Sheet File Ref. Tại dòng lệnh kích hoạt sổ làm việc đầu tiên, tức là Workbooks("G:\" & fileName2).Activate, tôi nhận được lỗi 'Out of Range'.

****Lưu ý trong đoạn mã bên dưới

tên tệp2 =

G:\Administration\Finance\Mangt Acs\Projects\Tax Revaluation Automation\For Month Ended Oct-11\Tax Revaluation Source Book Oct-11.xlsm

****Mã số là:

Sub Prepare_Split_Workbooks_PI_Matters()
Dim fileName1 As String
Dim fileName2 As String
Dim wb As Workbook

'Kích hoạt SourceBook'
Với Sheets ("Tham chiếu tệp")
.Tính toán
fileName2 = .Range("A3") & "\" & .Range("A5").Text
Kết thúc bằng
Workbooks("G:\" & fileName2).Activate

'Lưu bản sao vì đây là vấn đề liên quan đến tài khoản'
Với ActiveWorkbook.Sheets("Tham chiếu tệp")
Nếu (.Range("A3") = vbNullString) Hoặc (.Range("A9") = vbNullString) Thì Thoát khỏi Sub
Khi xảy ra lỗi, tiếp tục.

fileName1 = .Range("A3") & "\" & .Range("A9").Text
Kết thúc bằng

ActiveWorkbook.SaveCopyAs "G:\" & fileName1

'Xóa các trang tính không liên quan trong tệp SaveAs'
Sổ làm việc.Mở fileName:="G:\" & fileName1
Workbooks("G:\" & fileName1).Activate
Với ActiveWorkbook
.Sheets("Data").Delete
.Sheets("Accounts Matters").Delete
.Sheets("Non PI Matters").Delete
.Sheets("Các vấn đề chưa được phát hành").Delete
Kết thúc bằng
Sổ làm việc (fileName1).Lưu


Kết thúc phụ

Xin hãy giúp tôi!

Kurt




Trả lời:
Vấn đề là nếu các bảng tính được mở trong các cửa sổ Excel riêng biệt thì bảng tính chạy macro sẽ không nhận ra bảng tính mà bạn đang cố gắng kích hoạt. >Nếu bạn chạy một cửa sổ Excel và mở từng bảng tính từ tùy chọn Mở tệp thì bạn có thể kích hoạt bảng tính nhưng không cần đường dẫn tệp>
>Với Sheets("Tham chiếu tệp")
.Tính toán
fileName2 = .Range("A5").Text
Kết thúc bằng
Workbooks(fileName2).Activate

Comments

Popular posts from this blog

Xử lý hàng loạt các tệp Excel được bảo vệ bằng mật khẩu

Thu hẹp và mở rộng cột trong Excel

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ