Ký tự đặc biệt đại diện cho các ký tự khác trong vba là gì

Liên hệ QC

tueyennhi

Thành viên tích cực
Tham gia
18/10/10
Bài viết
1,189
Được thích
105
Em có file tên như sau 2. Forcast salary for October.xlsx
Với phần thông tin tháng thay đổi hàng tháng vậy có code nào đại diện cho phần này để nếu đổi tên thì code vẫn hiểu là chỉ đến file đó không, ví dụ

With Application.Workbooks("2. Forcast salary" & "" & ".xlsx")
 
Em có file tên như sau 2. Forcast salary for October.xlsx
Với phần thông tin tháng thay đổi hàng tháng vậy có code nào đại diện cho phần này để nếu đổi tên thì code vẫn hiểu là chỉ đến file đó không, ví dụ
With Application.Workbooks("2. Forcast salary" & "" & ".xlsx")
Vụ việc này không phải ký tự đại diện. Ký tự đại diện ? hoặc * thay thế (đại diện) cho 1 hoặc nhiều ký tự bất kỳ. Còn bạn đang muốn 1 hoặc 1 nhóm ký tự cụ thể là tháng. Vậy phải dùng 1 biến và thay giá trị cho biến đó.

Có thể làm dài dòng như sau:
Mã:
For i = 1 to 12
    Di = DateSerial(2024, i, 1)
    Mtext = Format(Di, "mmmm")
    WbName = .... & MText & ".xlsx"
Next
 
Lần chỉnh sửa cuối:
Vụ việc này không phải ký tự đại diện. Ký tự đại diện ? hoặc * thay thế (đại diện) cho 1 hoặc nhiều ký tự bất kỳ. Còn bạn đang muốn 1 hoặc 1 nhóm ký tự cụ thể là tháng.

Có thể làm dài dòng như sau:
Mã:
For i = 1 to 12
    Di = DateSerial(2024, i, 1)
    Mtext = DateSerial(Di, "mmmm")
    WbName = .... & MText & ".xlsx"
Next
Vâng, em thử thay như này
With Application.Workbooks("2. Forcast salary" & "***" & ".xlsx") thì báo lỗi ạ.
 
Vâng, em thử thay như này
With Application.Workbooks("2. Forcast salary" & "***" & ".xlsx") thì báo lỗi ạ.
"***" là chuổi 3 ký tự * liên tiếp, các hệ điều hành đều không cho đặt tên như vậy. Nên việc tìm tên có thêm "***" sẽ không thực hiện được.
"2. Forcast salary" & "***" & ".xlsx" tạm bỏ qua đuôi mở rộng để trao đổi nhé.
"2. Forcast salary" & "***" tên này chia làm 2 cụm, cụm đầu xem như không đổi.
1. Bạn hãy đưa một ví dụ cụ thể là file có dạng tên như thế nào là dạng "2. Forcast salary 241105" hay dạng nào ? và trong thư mục đó có tồn tại các tháng cũ không ?
2. Bạn chuyển thành listbox và bấm lựa chọn tháng muốn xử lý nó sẽ trực quan hơn ? vì khi dùng FSO (FileSystemObject object) thì hoàn toàn có thể liệt kê tất cả các file có cụm ban đầu là "2. Forcast salary" để lựa chọn.
 
Web KT

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

Back
Top Bottom