Chào bạn,Quá công phu Anh DHN, những người mới tiếp cận có thể nhìn và hiểu liền. Em xin phép lấy làm tư liệu nha. Cảm ơn anh nhiều
Anh @dhn46 có tài liệu học VBA như hình ảnh vậy không Anh. Có gì gửi qua Mail em là huonghoangvan920@gmail.comĐến Picture số 22 này thì các bạn có thể thực hiện được bài toán trích lọc cơ bản, trích lọc nhiều điều kiện với Or, And dồn dòng lại khi trích lọc.
Các bước hướng dẫn được chia thành từng bước để các bạn có thể hình dung:
- Trích lọc 1 điều kiện, chưa dồn dòng (chuyển ngang sang)
- Cách dồn dòng dữ liệu khi dữ liệu không liên tục
- Trích lọc 1 điều kiện dồn dòng
- Trích lọc 2 điều kiện với Or, And
View attachment 177887
Hình ảnh là tài liệu bạn nhé.Anh @dhn46 có tài liệu học VBA như hình ảnh vậy không Anh. Có gì gửi qua Mail em là huonghoangvan920@gmail.com
Em cảm ơn Anh.
Không có gì đâu Anh ơi. Em cảm ơn Anh vì những lời chia sẽ này. Em sẽ ghi nhớ cách anh bày cho em để học VBA tốt hơn.Hình ảnh là tài liệu bạn nhé.
Nếu bạn muốn học thì hãy tự mình tạo mẫu theo những gì đã thấy, thực hành rồi dần sẽ hiểu. Tôi quan sát bạn trong 1 thời gian chủ yếu bạn chỉ hỏi, bạn chỉ muốn giải quyết những gì bạn muốn trước mắt, bạn nhồi 1 lượng kiến thức lớn trong khi bạn chưa hiểu về nó sẽ không hiệu quả 1 chút nào.
Rất nhiều người lên GPE với câu hỏi học VBA như thế nào? Tài liệu học ở đâu mà quên mất vấn đề tìm kiếm, tự thực hành, đi từng bước từng bước, thực hành nhiều lần, tìm nhiều cách vướng rồi hãy hỏi...
Đây là nhận xét riêng cá nhân tôi - người học VBA từ GPE, tôi chưa từng mua 1 quyển sách về VBA nào, tất cả những gì có được từ GPE và tìm kiếm trên Internet. Đôi lời thẳng thắn bạn có thể bỏ ngoài tai nếu không vừa ý.
Cảm ơn anh đã nhiệt tình chia sẻ ạ, e mới đọc lướt qua, còn tạm thời đọc kỹ được đến bài này ạ. Vì e cũng tự học VBA nên học hành chưa bài bản cho lắm, hơn nữa em chưa đc tiếp cận phương pháp học trực quan này sớm hơn
Chào bạn,Tôi nghỉ, những bài fức tạp hơn, bạn dhn46 nên đính kèm thêm file & code!
Cảm ơn bạn AutoReply đã động viên, bạn vừa giỏi vừa khiêm tốn - mình còn phải học từ bạn nhiều nhiều.giải toán cũng phải có sơ đồ chiến thuật bài bản . Các bạn Hải Phòng ( gồm bạn DHN và cô giáo nick màu xanh ...) thật là giỏi và tâm huyết , mình rất khâm phục.
Chỉ tiếc mình ít học quá, mấy cái sơ đồ chiến thuật mình nhìn 1 hồi hoa cả mắt mà chưa có hiểu được . Hic
Nhưng chắc sẽ có nhiều người khác hiểu và áp dụng tốt . Chúc bạn thành công .
Cảm ơn anh nhiều. Góp ý của anh rất hay và thực tiễn, em sẽ bổ sung vào Pic tiếp theo số DHN-VBA-PIC-016.1Thuật toán tính Min, Max chưa ổn vì em gán gía trị Min ban đầu bằng 1 số rất lớn là không hay lắm.
Theo tôi, gán giá trị đầu tiên của vùng bằng Max (Min), sau đó tạo vòng lặp so sánh trong vùng dữ liệu. Nếu tìm được giá trị khác thì dùng phép thay thế để có giá trị Max (Min) mới...
Các bạn hướng dẫn sau khi ghi macro xong rồi kéo bảng vba sang một bên,bảng tính sang 1 bên, bấm f8 để xem nhưng mình bấm f8 không thấy gì hết. Bạn hướng dẫn mình cách sử dụng f8 để xem quá trình thực hiện ghi macro
Theo quan điểm của tôi thì với người mới không khuyến khích dùng F8, họ phải hình dung được Keyword trong đầu như thế nào mà lựa chọn câu lệnh đúng. Khi chạy F8 thì đến đâu biết đến đó, đúng thì giữ, còn nếu nắm bắt được Keyword trong những dòng Code thì sẽ tạo tư duy đọc, dịch code cho sau này.Cảm ơn anh đã nhiệt tình chia sẻ ạ, e mới đọc lướt qua, còn tạm thời đọc kỹ được đến bài này ạ. Vì e cũng tự học VBA nên học hành chưa bài bản cho lắm, hơn nữa em chưa đc tiếp cận phương pháp học trực quan này sớm hơn
Đoạn sửa code trong Macro này sau khi ghi Macro xong e thường vào macro chọn phím F8 để duyệt khi qua các dòng lệnh thì code đó thực thi điều gì, nếu qua dòng nào mà k thấy nó thay đổi thì e xoá đi cho code ngắn hơn. Không biết là nó có đúng không nhưng nếu đúng thì anh chỉ dẫn thêm mục này vào ảnh cho các bạn biết thêm anh nhé, hoặc là gợi ý anh ạ. Chân thành cảm ơn anh! chúc anh một ngày vui
Thầy vẫn còn thiếu chặt chẽ:Thuật toán tính Min, Max chưa ổn vì em gán gía trị Min ban đầu bằng 1 số rất lớn là không hay lắm.
Theo tôi, gán giá trị đầu tiên của vùng bằng Max (Min), sau đó tạo vòng lặp so sánh trong vùng dữ liệu. Nếu tìm được giá trị khác thì dùng phép thay thế để có giá trị Max (Min) mới...
Tại sao phải +1 và -1? chỉ cần gán giá trị đầu tiên là max hoặc min là ok, thuật toán này người ta gọi là thuật toán tìm lính canhThầy vẫn còn thiếu chặt chẽ:
Để tìm trị MIN, ta cần lấy MAX trong dẫy (là đúng rồi) & nên cộng thêm 1;
Tương tự tìm MAX, ta nên bắt đầu từ trị MIN -1
Chắc chắn với bạn là danh sách có 1 bạn hoặc các bạn trùng nhau về số liệu thì kết quả chắc chắn ra sẽ đúng 100%, nếu có thời gian bạn có thể kiểm tra độ tin cậy của thuật toánVấn đề là trong danh sách (DS) tìm đó có mỗi 1 thì sao?
Hay trong DS có vài đứa, nhưng cùng số liệu tất tần tật, thì sao?
Chào bạn.Em chào anh @dhn46 , anh cho em hỏi 1 chút là ở hình ảnh hướng dẫn sử dụng If để xét "giỏi", "khá" thì nó chỉ sử dụng cho 1 ô, if range("A1") >8 vậy nếu mình có danh sách 12 người cần xét, thứ tự từ A1 đến A10, thì làm sao để nó xét điều kiện ở các ô tiếp được ạ?
vâng ạ, để em thử lại. Em cám ơn anh ạ. Chúc anh 20-10 vui vẻ ạ!Chào bạn.
Khi đó phải dùng vòng lặp để duyệt qua vùng dữ liệu rồi áp điều kiện xét vào.
Bạn xem Pic số 014, 015, 015.1, 016, 016.1 để biết quy tắc vòng lặp For rồi kết hợp với Pic 012 rồi xây dựng thuật toán. Logic 1 chút sẽ ra kết quả.