Nguyen Rem
Tất cả chỉ là đưa ra quyết định đúng đắn
- Tham gia
- 23/2/22
- Bài viết
- 211
- Được thích
- 32
- Giới tính
- Nữ
Em chào các anh chị ! Lâu lắm rồi mới động lại vào VBA (Lười quá đi à ^^)
Hiện tại em đang có một số lỗi nhỏ trong quá trình viết code mong các anh chị giúp em giải thích và khắc phục.
Vấn đề 1 và các câu hỏi :
Ở Module 1 em đang muốn tìm giá trị trong một mảng bằng hàm filter .

Em có khai báo một mảng động kiểu Variant là strSubNames() nhưng lúc gán giá trị Filter(strName, "Bob") vào mảng strSubNames() thì Trải về lỗi "Type mismatch" . Em có kiểm tra xem Kiểu của Filter nó là cái gì và nó có là mảng hay không thì nó trả về một mảng và có kiểu là String() . Mà cái mảng strSubName() kia nó có kiểu Variant cơ mà (tức nó có thể chứa cả string)) . Sao lại lỗi nhỉ ?
Sau đó em thử không khai báo mảng strSubNames nữa mà chỉ để là biến strSubNames thôi (Tức là Dim strSubNames As Variant)
thì nó lại không thấy lỗi nữa . Tại sao lại thế ? .
Em có thử khai báo lại mảng strSubNames như sau: Dim strSubNames() As String thì nó được .(cái này có liên quan đến vấn đề 2)
Vấn đề 2 và các câu hỏi:
Em có thử dùng hàm Filter trên mảng động nhiều chiều thì nó lại lỗi "Type mismatch" mặc dù đã khai báo mảng A là kiểu String (Dim A() As String)

Sau đó em thử lại với các trường hợp tương tự như vấn đề 1 như sau:
Khai báo biến A:
TH1: Dim A() As Variant
TH2: Dim A As Variant
Thì cả hai trường hợp khai báo A này vẫn đều không được ^^
Mong các anh vô giải thích kĩ giúp em với chứ em đang hoang mang quá :>
Hiện tại em đang có một số lỗi nhỏ trong quá trình viết code mong các anh chị giúp em giải thích và khắc phục.
Vấn đề 1 và các câu hỏi :
Ở Module 1 em đang muốn tìm giá trị trong một mảng bằng hàm filter .

Em có khai báo một mảng động kiểu Variant là strSubNames() nhưng lúc gán giá trị Filter(strName, "Bob") vào mảng strSubNames() thì Trải về lỗi "Type mismatch" . Em có kiểm tra xem Kiểu của Filter nó là cái gì và nó có là mảng hay không thì nó trả về một mảng và có kiểu là String() . Mà cái mảng strSubName() kia nó có kiểu Variant cơ mà (tức nó có thể chứa cả string)) . Sao lại lỗi nhỉ ?
Sau đó em thử không khai báo mảng strSubNames nữa mà chỉ để là biến strSubNames thôi (Tức là Dim strSubNames As Variant)
thì nó lại không thấy lỗi nữa . Tại sao lại thế ? .
Em có thử khai báo lại mảng strSubNames như sau: Dim strSubNames() As String thì nó được .(cái này có liên quan đến vấn đề 2)
Vấn đề 2 và các câu hỏi:
Em có thử dùng hàm Filter trên mảng động nhiều chiều thì nó lại lỗi "Type mismatch" mặc dù đã khai báo mảng A là kiểu String (Dim A() As String)

Sau đó em thử lại với các trường hợp tương tự như vấn đề 1 như sau:
Khai báo biến A:
TH1: Dim A() As Variant
TH2: Dim A As Variant
Thì cả hai trường hợp khai báo A này vẫn đều không được ^^
Mong các anh vô giải thích kĩ giúp em với chứ em đang hoang mang quá :>
File đính kèm
Lần chỉnh sửa cuối: