Thày nói làm tôi vỡ ra được nhiều điều, nhưng xin thày giúp cho chút nữa:
If isValidWshName((CStr(Item)) thì sao máy nó hiểu được CStr(Item) chính là các WshName (WshNames) nhỉ? Nó thể hiện ở dòng nào thế?
Hay ta có thể hiểu như sau: Hàm isValidWshName nó là tập hợp của các biến WshName nên thông qua tính toán của Funtion:VBA quy định rằng cứ viết isValidWshName((CStr(Item)) là nó hiểu chính tập hợp các giá trị của WshName tính ra được.
(Vì hiểu biết có hạn, diễn đạt chưa rõ, mong thày chỉ bảo cho).
- Thứ nhất: "Nó" hiểu được cũng giống y chang như khi bạn gõ
=SUM(8, 10) trên bảng tính vậy... Tự nhien "nó" sẽ biết 8 là Number1 và 10 là Number2
- Thứ hai: Hàm
isValidWshName với biến
WshName (tên này muốn đặt cái gì tùy mình)... và
WshName là 1 chuổi nào đó (As String)... Hàm này sẽ tính toán dựa trên cái biến tổng quát này ---> Khi xài, ta sẽ truyền vào 1 chuổi cụ thế
Ví dụ
- Giả sử trong file của bạn đã có hàm
isValidWshName
- Giờ bạn gõ vào bảng tính công thức
=isValidWshName("abc") chẳng hạn ---> Hàm sẽ cho kết quả =TRUE, ý muốn nói rằng tên "
abc" là 1 tên sheet hợp lệ (tức có thể đặt "abc" làm tên sheet)
- Gõ tiếp công thức khác
=isValidWshName("ab/c") ---> Hàm sẽ cho kết quả =FALSE, ý muốn nói rằng "
ab/c" là tên không hợp lệ (không thể đặt làm tên sheet) ---> Để kiểm chứng, bạn có thể rename sheet thành "
ab/c" xem Excel có "cự nự" gì không?
- Tại sao công thức
=isValidWshName("ab/c") lại "biết được" kết quả =FALSE ---> Đó là do quá trình tính toán trong code (Function isValidWshName(...) trong cửa sổ VBA)
----------------------
Hic...
Qua cách bạn hỏi bài, tôi cho rằng bạn chưa nắm vững cơ bản... Theo tôi bạn nên học từ đầu chứ không nên "đâm ngang hông" như vậy! Vì càng lúc bạn sẽ càng cảm thấy rối vì những thuật ngữ, cú pháp trong ngôn ngữ lập trình, khiến bạn trở nên hoang mang thêm mà thôi