- Tham gia
- 13/6/06
- Bài viết
- 7,170
- Được thích
- 24,602
Là người viết sách Excel, Excel ứng dụng và lập trình VBA trong Excel nên tôi gặp nhiều ý kiến, câu hỏi từ bạn đọc. Nhiều bạn tưởng cứ mua sách xong là trở thành chuyên gia, nhà lập trình mà không có định hướng nghiên cứu, học hỏi... Qua đây tôi cập nhật những vấn đề chung mà nhiều bạn quan tâm:
VBA là gì?
Đó là lập trình Visual Basic được tích hợp trong các ứng dụng (Applications) do Microsoft phát triển. Cấu trúc ngôn ngữ rất giống Visual Basic cổ điển. VBA là ngôn ngữ đơn giản, dễ hiểu mang tính thực dụng. Người dùng thành thạo với 1 ứng dụng thì dễ dàng áp dụng ở ứng dụng khác, hay phát triển lên môi trường lập trình cao hơn như VB6, VB.NET...
VBA giúp tự động hóa hầu hết các tác vụ trong các ứng dụng và cả môi trường bên ngoài (trong Window) với hiệu quả như các phần mềm chuyên nghiệp. Ví dụ như có thể xuất nhập dữ liệu giữa Excel, Word, Access, PowerPoint, AutoCAD...
- Kiến thức cần và đủ để học VBA?
Bạn cần có kiến thức tối thiểu ở mức cơ bản của ứng dụng (Excel, AutoCAD...). Bởi vì lập trình cũng chỉ là thao tác với đối tượng bằng mã lệnh thay vì thực hiện thủ công.
Nắm bắt, hiểu rõ được mô hình quản lý, điều khiển đối tượng của ứng dụng. Ví dụ để điều khiển font trong ô thì cần bước truy cập: tập tin > sheet > ô > font...
Nên nhớ kiến thức trong ứng dụng càng tốt thì sử dụng VBA càng hiệu quả, vì người dùng có thể kết hợp, lồng ghép chúng với nhau. Ví dụ như có thể kết hợp Name, Name động, Data Validation, Filter, Pivot Table... với VBA để có các tình huống không ngờ hay vậy!
Nhiều người loay hoay lập hàm hay thủ tục để giải bài toán nào đó, nhưng không biết rằng Excel đã có các hàm hay công cụ giải quyết...
Những người có kiến thức Excel tốt thì họ sẽ biết vai trò của VBA trong công tác xây dựng bảng tính.
- Học VBA để làm gì?
VBA thường được sử dụng để tự động hóa các tác vụ trong Excel (hay môi trường ứng dụng khác). Nếu thực hiện thủ công thường mất nhiều công sức, hoặc dễ gặp sai sót... Điều đó dễ hiểu vì Excel là bảng tính mạnh mẽ
nhưng do áp dụng cho nhiều lĩnh vực nên không thể tập trung xử lý riêng biệt 1 chuyên môn nào đó! Do đó người dùng thành thạo Excel + VBA thì sẽ giải quyết được các bài toán chuyên môn một cách linh hoạt mà không 1 phần mềm chuyên nghiệp nào có thể làm nổi
- Học VBA có khó không?!
Vừa khó, vừa dễ!!!
Khó khi người dùng chưa thành thạo ứng dụng, thậm chí 1 số khái niệm còn mơ hồ. Cần nhớ tiếng Anh được sử dụng trong ngôn ngữ lập trình nên chúng ta phải hiểu Activesheet, Range, Cell... là gì thì mới lập trình điều khiển chúng.
Tư duy lập trình & thuật toán là mấu chốt!
Có người chả cần học, mà chỉ mày mò nghiên cứu mà tạo được sản phẩm được người dùng đánh giá cao! Trong khi đó nhiều người học CNTT ra vẫn không làm được sản phẩm gì hữu ích.
Kiến thức Toán học không tốt thì khó có thể lập trình giỏi! Thế hệ trẻ được đào tạo kiến thức Toán - Tin, thuật toán - đó là nền tảng cho lập trình bất cứ trong môi trường gì.
Đam mê, chịu khó học hỏi là chìa khóa thành công!
Nhiều bạn mua sách hay bỏ tiền đi học VBA, tuy vậy không hẳn học xong là biết lập trình và có sản phẩm ứng dụng. Cần chịu khó trau dồi kiến thức, mày mò viết code, tư duy thuật toán... để giải quyết từng module nhỏ. Sau đó ghép lại để giải quyết vấn đề lớn hơn. Đọc 1 lần không hiểu thì hãy đọc lại vài lần, nếu vẫn không hiểu thì chịu khó vào các trang mạng như GPE để hỏi.
Không có Thầy cô nào, sách vở nào có thể giúp các bạn thành công nếu mình không quyết tâm. Các kiến thức trong sách mang tính hệ thống, cơ bản để bạn đọc nắm bắt, nhanh chóng tiếp cận. Còn để phát triển hơn nữa thì cần vào các diễn đàn chuyên sâu, đọc Help của Microsoft + Google...
- Tiếp cận với VBA khi chưa biết gì bằng chức năng "Record Macro":
Nội dung này đã được đề cập ở phần đầu, hướng dẫn chi tiết. Mình gõ gì ở bàn phím thì VBA thu lại, biến thành mã lệnh. Sau đó tha hồ nghiên cứu.
Nhiều bạn đòi đốt cháy giai đoạn, cứ đòi làm được ngay khi nền tảng chưa có gì, mọi thứ đều hiểu mơ hồ.
Sách hướng dẫn lập trình chứ không phải hướng dẫn chuyên môn
Nhiều bạn đòi hỏi sách có nhiều ví dụ, bài tập liên quan đến chuyên môn. Điều này là không thể! Sách chỉ đề cập ở mức độ chung nào đó cho phù hợp. Trong khi đó rất nhiều ngành nghề sử dụng đến Excel, biết nội dung nào cần để đưa vào? Nếu đáp ứng được chắc phải mời nhiều chuyên gia của nhiều ngành cùng hỗ trợ
- Đôi điều về sách lập trình VBA:
Các bạn thấy là sách tiếng Anh rất nhiều, nhưng tiếng Việt lại rất ít, hoặc chỉ giới thiệu 1 cách sơ lược. Rào cản ngoại ngữ ảnh hưởng tới nhiều bạn muốn tìm hiểu. Tôi đọc nhiều sách tiếng Anh nhưng phải nói rõ rằng, có sách hay sách dở!!! Không phải cứ sách Tây là hay.
Việc chuyển đổi sang tiếng Việt ban đầu là hết sức vất vả khi phải chọn sách nào phù hợp, cố gắng phát huy ưu điểm của từng cuốn để đưa vào nội dung.
Sau khi cuốn đầu phát hành vào những năm 2005, 2006 thì Tác giả cũng đã chỉnh sửa, cập nhật nội dung, và cố gắng Việt hóa (hạn chế dịch) một cách phù hợp...
Và cuốn VBA cho người chưa biết gì có lẽ hay nhất là "Introduction to using macros in Microsoft Excel 2003" của Đại học Durham. Rất tường tận, chi tiết. Đây cũng là nội dung phần ban đầu của sách, và đã cập nhật, hiệu chỉnh cho phù hợp. Nói thật là ai đọc không hiểu nội dung cuốn sách đó thì tốt nhất là không nên học VBA!
Đó là lập trình Visual Basic được tích hợp trong các ứng dụng (Applications) do Microsoft phát triển. Cấu trúc ngôn ngữ rất giống Visual Basic cổ điển. VBA là ngôn ngữ đơn giản, dễ hiểu mang tính thực dụng. Người dùng thành thạo với 1 ứng dụng thì dễ dàng áp dụng ở ứng dụng khác, hay phát triển lên môi trường lập trình cao hơn như VB6, VB.NET...
VBA giúp tự động hóa hầu hết các tác vụ trong các ứng dụng và cả môi trường bên ngoài (trong Window) với hiệu quả như các phần mềm chuyên nghiệp. Ví dụ như có thể xuất nhập dữ liệu giữa Excel, Word, Access, PowerPoint, AutoCAD...
Bạn cần có kiến thức tối thiểu ở mức cơ bản của ứng dụng (Excel, AutoCAD...). Bởi vì lập trình cũng chỉ là thao tác với đối tượng bằng mã lệnh thay vì thực hiện thủ công.
Nắm bắt, hiểu rõ được mô hình quản lý, điều khiển đối tượng của ứng dụng. Ví dụ để điều khiển font trong ô thì cần bước truy cập: tập tin > sheet > ô > font...
Nên nhớ kiến thức trong ứng dụng càng tốt thì sử dụng VBA càng hiệu quả, vì người dùng có thể kết hợp, lồng ghép chúng với nhau. Ví dụ như có thể kết hợp Name, Name động, Data Validation, Filter, Pivot Table... với VBA để có các tình huống không ngờ hay vậy!
Nhiều người loay hoay lập hàm hay thủ tục để giải bài toán nào đó, nhưng không biết rằng Excel đã có các hàm hay công cụ giải quyết...
Những người có kiến thức Excel tốt thì họ sẽ biết vai trò của VBA trong công tác xây dựng bảng tính.
VBA thường được sử dụng để tự động hóa các tác vụ trong Excel (hay môi trường ứng dụng khác). Nếu thực hiện thủ công thường mất nhiều công sức, hoặc dễ gặp sai sót... Điều đó dễ hiểu vì Excel là bảng tính mạnh mẽ
Khó khi người dùng chưa thành thạo ứng dụng, thậm chí 1 số khái niệm còn mơ hồ. Cần nhớ tiếng Anh được sử dụng trong ngôn ngữ lập trình nên chúng ta phải hiểu Activesheet, Range, Cell... là gì thì mới lập trình điều khiển chúng.
Có người chả cần học, mà chỉ mày mò nghiên cứu mà tạo được sản phẩm được người dùng đánh giá cao! Trong khi đó nhiều người học CNTT ra vẫn không làm được sản phẩm gì hữu ích.
Kiến thức Toán học không tốt thì khó có thể lập trình giỏi! Thế hệ trẻ được đào tạo kiến thức Toán - Tin, thuật toán - đó là nền tảng cho lập trình bất cứ trong môi trường gì.
Nhiều bạn mua sách hay bỏ tiền đi học VBA, tuy vậy không hẳn học xong là biết lập trình và có sản phẩm ứng dụng. Cần chịu khó trau dồi kiến thức, mày mò viết code, tư duy thuật toán... để giải quyết từng module nhỏ. Sau đó ghép lại để giải quyết vấn đề lớn hơn. Đọc 1 lần không hiểu thì hãy đọc lại vài lần, nếu vẫn không hiểu thì chịu khó vào các trang mạng như GPE để hỏi.
Bài đã được tự động gộp:
Nội dung này đã được đề cập ở phần đầu, hướng dẫn chi tiết. Mình gõ gì ở bàn phím thì VBA thu lại, biến thành mã lệnh. Sau đó tha hồ nghiên cứu.
Nhiều bạn đòi đốt cháy giai đoạn, cứ đòi làm được ngay khi nền tảng chưa có gì, mọi thứ đều hiểu mơ hồ.
Nhiều bạn đòi hỏi sách có nhiều ví dụ, bài tập liên quan đến chuyên môn. Điều này là không thể! Sách chỉ đề cập ở mức độ chung nào đó cho phù hợp. Trong khi đó rất nhiều ngành nghề sử dụng đến Excel, biết nội dung nào cần để đưa vào? Nếu đáp ứng được chắc phải mời nhiều chuyên gia của nhiều ngành cùng hỗ trợ
Các bạn thấy là sách tiếng Anh rất nhiều, nhưng tiếng Việt lại rất ít, hoặc chỉ giới thiệu 1 cách sơ lược. Rào cản ngoại ngữ ảnh hưởng tới nhiều bạn muốn tìm hiểu. Tôi đọc nhiều sách tiếng Anh nhưng phải nói rõ rằng, có sách hay sách dở!!! Không phải cứ sách Tây là hay.
Việc chuyển đổi sang tiếng Việt ban đầu là hết sức vất vả khi phải chọn sách nào phù hợp, cố gắng phát huy ưu điểm của từng cuốn để đưa vào nội dung.
Sau khi cuốn đầu phát hành vào những năm 2005, 2006 thì Tác giả cũng đã chỉnh sửa, cập nhật nội dung, và cố gắng Việt hóa (hạn chế dịch) một cách phù hợp...
Và cuốn VBA cho người chưa biết gì có lẽ hay nhất là "Introduction to using macros in Microsoft Excel 2003" của Đại học Durham. Rất tường tận, chi tiết. Đây cũng là nội dung phần ban đầu của sách, và đã cập nhật, hiệu chỉnh cho phù hợp. Nói thật là ai đọc không hiểu nội dung cuốn sách đó thì tốt nhất là không nên học VBA!
Lần chỉnh sửa cuối: