Xin trợ giúp thay thế (hoặc cập nhật) đường dẫn của file trong VBA.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

constantc2

Thành viên mới
Tham gia
27/11/13
Bài viết
9
Được thích
0
Xin chào mọi người .
Khi mình record macro hàm Consolidate ( Data/Consolidate ) ( hàm hợp nhất các giá trị để thống kê ) , thì trong VBA có xuất hiện link của file như bên dưới :

Selection.Consolidate Sources:= _
"'C:\Users\62811\Desktop\[TongHop.xlsm]FB'!R1C11:R250C12" _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False


Vấn đề là khi mình di chuyển file này sang thư mục khác thì địa chỉ của file bị thay đổi nên không thể chạy macro lúc đầu.
Mình xin hỏi có cách nào để thay thế ( update ) địa chỉ 'C:\Users\62811\Desktop\[TongHop.xlsm]FB' trong macro mình đã record theo địa chỉ mới của file được không ?
Nếu có thể thay đổi bằng cách nhập địa chỉ mới vào MsgBox để thay thế thì càng tốt .

Mình xin cảm ơn nhiều !
 
Giải pháp
Sửa:
Selection.Consolidate Sources:= _
"'C:\Users\62811\Desktop\[TongHop.xlsm]FB'!R1C11:R250C12" _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

Thành:
Selection.Consolidate Sources:= _
Replace("'<thePath>\[TongHop.xlsm]FB'!R1C11:R250C12", "<thePath>", ThisWorkbook.Path) _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
Có bác nào có chỉ dẫn gì giúp mình với .
Mình tìm hiểu mãi mà chưa ra.
:confused:
 
Upvote 0
anh chị ơi giúp mình với, mình mở file excel và nó hiện thông báo như hình
1680762935977.png
anh chị giúp mình loại bỏ với, mình cảm ơn rất nhiều
 
Upvote 1
E vẫn đang ngồi hóng, các bác cho e tí ý tưởng để có tia hi vọng nào .
 
Upvote 0
Bạn lấy theo đường dẫn chứa file đơn giản hơn mà
Ví dụ dùng câu lệnh:
MyPath = Workbooks(Filename).Path & Application.PathSeparator

Filename là tên Workbook. Lệnh trên mình cũng copy thôi.
 
Upvote 0
Bạn lấy theo đường dẫn chứa file đơn giản hơn mà
Ví dụ dùng câu lệnh:
MyPath = Workbooks(Filename).Path & Application.PathSeparator

Filename là tên Workbook. Lệnh trên mình cũng copy thôi.
Mình thử thay trực tiếp địa chỉ 'C:\Users\62811\Desktop\[TongHop.xlsm]FB' bằng MyPath nhưng lệnh Consolidate không hoạt động.
( máy báo ko thể tham chiếu đến vùng MyPath. Mình đã check riêng lệnh MyPath đã cho kết quả giống đường link cũ) hay là mình làm chưa đúng nhỉ ?
Trừ khi là copy link mới vào đường link cũ thì chạy được.
Có cách nào khác không nhỉ các bác ?
 
Upvote 0
Mình thử thay trực tiếp địa chỉ 'C:\Users\62811\Desktop\[TongHop.xlsm]FB' bằng MyPath nhưng lệnh Consolidate không hoạt động.
( máy báo ko thể tham chiếu đến vùng MyPath. Mình đã check riêng lệnh MyPath đã cho kết quả giống đường link cũ) hay là mình làm chưa đúng nhỉ ?
Trừ khi là copy link mới vào đường link cũ thì chạy được.
Có cách nào khác không nhỉ các bác ?
Có cái file cũng không gửi để thử mà gọi giúp đỡ hoài. Mệt!
 
Upvote 0
Sửa:
Selection.Consolidate Sources:= _
"'C:\Users\62811\Desktop\[TongHop.xlsm]FB'!R1C11:R250C12" _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

Thành:
Selection.Consolidate Sources:= _
Replace("'<thePath>\[TongHop.xlsm]FB'!R1C11:R250C12", "<thePath>", ThisWorkbook.Path) _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
 
Upvote 1
Giải pháp
Sửa:
Selection.Consolidate Sources:= _
"'C:\Users\62811\Desktop\[TongHop.xlsm]FB'!R1C11:R250C12" _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

Thành:
Selection.Consolidate Sources:= _
Replace("'<thePath>\[TongHop.xlsm]FB'!R1C11:R250C12", "<thePath>", ThisWorkbook.Path) _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
Mình sửa được rồi bạn nhé.
Cảm ơn bạn rất nhiều.
Chúc bạn ngày mới tốt lành.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom