Chia sẻ học VBA căn bản qua hình ảnh

Liên hệ QC

dhn46

Hướng tới tương lai
Tham gia
1/3/11
Bài viết
3,252
Được thích
3,868
Qua GPE Dhn46 đã có thể nắm bắt được những bước chập chững về VBA, cũng phải tới 2 năm rồi những hình ảnh dưới đây được dhn46 tạo ra dựa trên thực tế tìm hiểu của mình, hy vọng sẽ hữu ích với các bạn muốn tiếp cận VBA.
1.jpg
2.jpg
3.jpg 4.jpg
5.jpg
 
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 .
 
Upvote 0
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 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.
Chúng mình cũng chỉ là người mới và cũng do đam mê mà gắn kết rồi đúc kết. Cũng hy vọng góp 1 phần nhỏ công sức để có thể có ích cho ai đó cần.

Để gió cuốn đi bạn nhỉ ;)?
 
Upvote 0
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...
 
Lần chỉnh sửa cuối:
Upvote 0
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...
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.1
 
Upvote 0
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
 
Upvote 0
Upvote 0
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
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.
 
Upvote 0
Xin trọn cả tài liệu này về ngâm cứu sau thì phải làm như thế nào ạ? Nếu được xin bạn gửi cho vào địa chỉ email debaco@gmail.com. Cám ơn bạn
 
Upvote 0
Em cảm ơn anh và rất ủng hộ anh sẽ tạo ra nhiều kiến thức VBA bằng hình ảnh như trên nữa ạ.
 
Upvote 0
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...
Thầ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
 
Upvote 0
Thầ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
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 canh
ví dụ tìm học sinh cao nhất lớp
thường thì người ta sẽ bắt thằng đầu tiên đứng ngay cửa, và mặc định thằng đó là cao nhất lớp
sau đó xét dần từng thằng, thằng nào cao hơn bắt lại đứng ngay đó
cứ thế, thằng nào đứng ở đó cuối cùng là thằng đó cao nhất
 
Upvote 0
Vấ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?
 
Upvote 0
Vấ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ắ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án
 
Upvote 0
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 ạ?
 
Upvote 0
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 ạ?
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ả.
 
Upvote 0
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ả.
vâng ạ, để em thử lại. Em cám ơn anh ạ. Chúc anh 20-10 vui vẻ ạ!
 
Upvote 0
Web KT
Back
Top Bottom