Để lập trình VBA tốt (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,216
Được thích
24,736
Theo tôi, để lập trình VBA tốt, trước hết phải thông thạo về VB đã. Khi đó trình độ về VBA sẽ sâu hơn
Mời các bạn cho ý kiến
 
Đồng ý

PhanTuHuong đã viết:
Theo tôi, để lập trình VBA tốt, trước hết phải thông thạo về VB đã. Khi đó trình độ về VBA sẽ sâu hơn
Mời các bạn cho ý kiến
Vâng tôi đồng ý với ý kiến của bạn PhanTuHuong nhưng đây chỉ là điều kiện cần mà thôi.
Để thông thạo một ngôn ngữ nào nói chung, bạn phải đào sâu ngôn ngữ đó. Cụ thể đối với VBA bạn phải nắm được các đối tượng của VBA. Đối với mỗi đối tượng thì bạn phải biết rõ các thuộc tính, phương thức của nó. Ngòai ra, để có kinh nghiệm bạn phải là người đam mê nó, tiếp xúc với nó thường xuyên, cập nhật các thủ thuật,...

Thân,
Lê Văn Duyệt
 
Để lập trình VBA tốt, trước hết phải thông thạo về VB đã. Khi đó trình độ về VBA sẽ sâu hơn Mời các bạn cho ý kiến
. . . . . . . . .(hắc đây là chuyện sinh con rồi mới sinh cha,
***&&% . . . Sinh cẩu ở nhà sau ra Nhật tân?!
/(/(ình thì tự học access 3 (theo cách gọi của các Trung tâm, rồi chuyển sang thì sẽ thiếu nhiều thứ!) (/ậy các bác nói xem em nên bổ sung fần gì & ở đâu.
Xin cám ơn trước!
 
Cách học củ chuối của em nè: Lúc đầu em chả biết bắt đầu từ đâu, ko biết một tý gì gọi là VBA cả, ko có tài liệu nhiều về VB nhất là các hàm của VB. Em chỉ biết học như thế này: sau khi thu macro xong nhấn Alt+F11 và coi thử nó nói cái gì trong đó, và cái nào không cần, ko có nó mà vẫn chạy tốt. Nhưng mà nhờ cách này em cũng biết tý tý đấy :-= . Hic ko biết khi nào mới khá nổi đây @#!^%
Vô tình mới nhặt dc bí kiếp từ GPE "Total Function VB6" thấy hấp dẫn quá :-=
 
hoangaccounting đã viết:
Vô tình mới nhặt dc bí kiếp từ GPE "Total Function VB6" thấy hấp dẫn quá :-=

Vậy sau khi nhặt được bí kíp rùi thì sao hả em? Hic, xí hổ cho chị em quá!!!
 
Mình cũng tiếp cận VBA theo kiểu của Hoanggaccounting.

Chạy vượt rào kiểu này mệt quá nhưng thật sự rất khoái. Vì không có tí tị tì ti gì về lập trình mình coi VBA như 1 sở thích trong công việc nên trau dồi và tích cóp cho công việc thêm phần thi vị do thế mà mỗi khi hiểu thêm được 1 vấn đề gì là mình sướng lắm.

Sống trên đời sợ nhất là không có đam mê dúng không các bạn. Mình tin cứ đà này mình có thể là dân VBA nghiệp dư.
From PhanTuHuong:
Bạn cứ chịu khó đọc sách (mà có rất nhiều sách điện tử) và thảo luận trên diễn đàn, trình độ về VBA sẽ nâng cao dần dần thôi mà.
 
đúng là muốn giỏi VBA thì trước tiên phải giỏi VB đã. các bạn thử tham khảo quyển "hướng dẫn sử dụng Excel visual basic version 5 for windows" của Reed Jacobson xem (nhà xuất bản trẻ). một quyển sách tương đối đầy đủ và rõ ràng về phuơng pháp và nội dung của vba trong excel.

Theo em, vấn đề là ở chỗ cách ứng dụng như thế nào thôi.
 
Vb & Vba (?)

đúng là muốn giỏi VBA thì trước tiên phải giỏi VB đã.
/(/)ình cho rằng đã giỏi VB rồi thì trình độ VBA sẽ đương nhiên là siêu cao rồi, chứ không còn là giỏi nữa đâu! Trên diễn đàn này mình thấy một số không nhỏ là như vậy
Bạn đến 1 diễn đàn VB nào đó thì biết ngay mà!
 
Đúng là VBA và VB hỗ trợ nhau. Mình đọc Help của VBA thì cũng là VB thôi.
 
theo mình, để lập trình VBA tốt cần hiểu về VBA và hiểu về thuật tóan nữa
 
PhanTuHuong đã viết:
Theo tôi, để lập trình VBA tốt, trước hết phải thông thạo về VB đã. Khi đó trình độ về VBA sẽ sâu hơn
em cũng đang phân vân....
Em đã viết xong một chương trình bằng excel nhưng giao diện không được đẹp lắp, thuật toán đã có sẵn hết rồi.
bây giờ em muốn viết chương trình bằng VBA nhưng tài liệu bằng tiếng việt cho VBA thì rất ít.
Theo như anh Hướng nói muốn giỏi VBA thì phải học VB trước đã vậy
Cho em hỏi vậy khi học giỏi VB rồi thì sao mình không sử dụng luôn vb để viết chương trình, tại vì lúc này mình đã giỏi vb rồi mà, sao lại phải học thêm một ngôn ngữ vba nữa ??
vậy chọn ngôn ngữ nào để học??
 
Học VB để bạn có ngôn ngữ, khái niệm về lập trình hướng đối tượng.
VBA - Visual Basic for Application. Đây là ngôn ngữ VB dùng các đối tượng Office (Excel, Winword, Access, Powerpoint,...)-Gọi chung là "Application".


Học VB trước là tốt, nhưng vì VB là ngôn ngữ dễ học nên có thể học luôn VBA.
 
VBA là một nhánh của VB, tại sao bạn lại phải học VBA khi đã biết VB ư. Thật đơn giản vì nếu chỉ học VB bạn chỉ viết được các chương trình chạy độc lập, còn khi bạn muốn tạo ra các ứng dụng văn phòng thông minh thì bạn phải nhờ đến VBA (Thực ra là còn cái Macro 4 của MS nhưng giờ ít dùng mà cũng không mạnh bằng VBA).
Theo mình cần có 4 yêu cầu để thành một VBA Guru là
+ Thành thạo ngôn ngữ VB
+ Tư duy tốt, hiểu biết nhiều thuật toán
+ Am hiểu mô hình đối tượng của các ứng dụng văn phòng (Excel, access, word...)
+ Có lòng nhiệt huyết và tình yêu với VBA
 
Vậy là muốn lập trình trên excel được thoả 2 điều kiện:
+ Điều kiện cần:Học VB
+ Điều kiện đủ: Học VBA
Cảm ơn các bạn
 
Minh thì tiếp xúc với VB thì qua trương học nhưng mà chỉ là cươĩ ngựa xem hoa. Tại vừa mới học cái mây anh em rủ thầy giáo đi nhậu. thầy giáo bảo ai không biết không thích học thì cũng qua hết. Giờ nghĩ lại ngày xưa cũng tiếc tiếc :D . đợi hết năm âm lich này cũng phải đi học lại
From HamVui:
Thầy kiểu gì vậy nhỉ ?????
 
SONGBA đã viết:
Vậy là muốn lập trình trên excel được thoả 2 điều kiện:
+ Điều kiện cần:Học VB
+ Điều kiện đủ: Học VBA
Cảm ơn các bạn

Theo Ka thi VBA & VB cũng không có nhiều mối quan hệ lắm. Người giỏi VB nhưng chưa chắc đã viết được VBA và ngược lại. Vì VB được viết dựa trên 1 cơ sở dữ liệu nào đó (Ví dụ Access..) còn VBA thì viết dựa trên range, cell...Cho nên bác nào ko biết VB thì vẫn tự tin là có thể viết VBA ngon & ngược lại...

workman đã viết:
Thế mà tôi cứ tưởng tuy 2 mà một, họ hàng nhà nó cả chứ nhỉ.

Hình như VBA còn sử dụng cho cả Access, Word, Power point thì phải.

Yeah, VBA được sử dụng cho cả bộ MS Office: excel, word, outlook....
VBA phát triển dựa VB, nhưng điều đó không có nghĩa là muốn giỏi VBA thì phải giỏi VB vì thực tế là nhiều kiến thức VB không thể vận dụng trong VBA (ví dụ về ADO, DAO...) và ngược lại :)
 
Katherine đã viết:
VBA phát triển dựa VB, nhưng điều đó không có nghĩa là muốn giỏi VBA thì phải giỏi VB vì thực tế là nhiều kiến thức VB không thể vận dụng trong VBA (ví dụ về ADO, DAO...) và ngược lại :)
Tôi không đồng ý với ý kiến này.

Lê Văn Duyệt
 
workman đã viết:
Thế mà tôi cứ tưởng tuy 2 mà một, họ hàng nhà nó cả chứ nhỉ.

Hình như VBA còn sử dụng cho cả Access, Word, Power point thì phải.

Thêm cả VBA for AutoCad nữa anh Workman à. Tôi cũng thử dùng VBA for PowerPoint rồi, tuy nhiên việc hỗ trợ không mạnh như với Excel.
 
Mỗi người có một cách học tuy nhiên they said "Mọi con đường đều dẫn đến thành Rome"...điều quan trọng là dùng nó để hỗ trợ tốt cho mục đích công việc là được.
Em thì cứ cái j đơn giản, dễ hiểu, ứng dụng được & ko gây tác dụng phụ thì xài dù là VB hay VBA.

Thui em xin ra ngoài đọc code của các bác trên diễn đàn để thêm tý kiến thức, chứ ở đây bị "chọc" & lose time chẳng bít bao giờ mới đi đến Rome..

...Tranh luận xong tất cả lại về...(đọc code)..oh oh oh oh oh
:plane:
 
Thấy các bác tranh luận muốn lập trình tốt VBA thì phải hiểu được VB, cái đó tôi nghĩ chỉ là một phần thôi. Nhưng nếu lý luận theo lôgic trên muốn hiểu sâu VB trước tiên phải có chút vốn lận lưng căn bản về lập trình như phải học và hiểu về lập trình Pascal chẳng hạn (đó cũng trình tự đào tạo thành kỹ sư tin học ở các trường đại học).....--=0!$@!!:-=
 
Dear all,--------Em thì cho rằng VBA và VB không có những cách biệt. Chúng đều là ngôn ngữ lập trình, mà muốn giao tiếp bằng ngôn ngữ nào thì phải học ngôn ngữ đó. Các lớp và cấu trúc lập trình vẫn là nền tảng căn bản. Cái thuận lợi của người biết lập trình VB khi lập trình VBA là VB họ có thể tiếp cận các đối tượng một cách có kinh nghiệm hơn. Ngược lại, những người hiểu sâu về VBA có lợi thế trong việc lựa chọn các đối tượng cần sử dụng một cách thích hợp nhất.Tuy nhiên chủ đề của chúng ta không phải bàn đến những kinh nghiệm trong việc sử dụng VB hay VBA, mà vấn đề là làm sao "Để lập trình VBA tốt"."Tốt" thường được đánh giá ở những yếu tố tích cực. Ở đây, yếu tố đó có thể là khả năng tư duy để có một cách giải ngắn nhất, là kỹ năng viết lệnh trong sáng, có tính sử dụng lại cao, là hiệu quả của chương trình ứng dụng cho công việc...Nếu câu hỏi này được đặt ra bởi người "mới bắt đầu" thì một lời khuyên bổ ích là các bạn phải thận trọng và... từ từ! Đừng quá vồ vập vào nó bởi nó sẽ các bạn mất khá nhiều thời gian. Hay học các kỹ thuật điều khiển và kiểm tra lỗi chương trình bằng các công cụ trong menu Debug.Ngoài ra các bạn không quên ấn F1 vào đối tượng cần nghiên cứu hoặc www.giaiphapexcel.com mỗi lúc khó khăn!
 
Khác nhau căn bản đấy. Ví dụ: 1 cái có thể dịch thành machine code (Tức là có compiler hẳn hoi), còn cái kia thì không (chỉ là interpreter). 1 cái có thể tạo ActiveX, cái kia thì không, và còn tỷ thứ nữa để chứng minh 2 thứ là khác biệt.... Chỉ giống nhau ở những cái Syntax căn bản thôi.
 
VB và VBA khác nhau đấy

hai2hai đã viết:
Khác nhau căn bản đấy. Ví dụ: 1 cái có thể dịch thành machine code (Tức là có compiler hẳn hoi), còn cái kia thì không (chỉ là interpreter). 1 cái có thể tạo ActiveX, cái kia thì không, và còn tỷ thứ nữa để chứng minh 2 thứ là khác biệt.... Chỉ giống nhau ở những cái Syntax căn bản thôi.

Đồng ý hoàn toàn với ý kiến trên . VBA chỉ là một phần của VB thôi và VBA với VB chỉ giống nhau ở phần căn bản . Các bạn biết rằng một chương trình viết bằng VB thi có thể biên dịch đươc (tức có compiler) còn với VBA thì không
 
Chào các Bạn! Theo tôi nghĩ: VB hay VBA các đó không quan trọng?! Trước hết để làm một công việc gì đó ta phải xây dụng cho mình được mục đích và hướng đối tượng, sau đó đưa ra các giải pháp thích hợp cho công việc và khi đó muốn sử dụng bất kỳ ngôn ngữ nào cũng được, miễn là gọn nhẹ và hiệu quả. Ngay bản thân các chương trình ứng dụng của bộ office đã link với nhau thông qua SQL và VBA khi ta nhúng dữ liệu qua lại.
Xin mạn phép góp ý với các Bạn, nếu không đúng xin các Bạn góp ý.
Cảm ơn.
 
Tôi là một cư dân mới của lang VBA (chưa biết chi hết) Nhưng tôi nghỉ đã là lập trình thì bất kì ngôn ngữ nào cũng như nhau một điểm là phải biết cách nắm vẫn các thuật toán và nhũng gì mình đã có. khi đó việt phát triển vốn kiến thức sẽ trở nên khá dẽ dàng.
 
Đúng rồi! THUẬT TOÁN... Cái đó có thể gọi là "ý tưởng sáng tạo" đấy! Vì cho dù là VB, VBA hay cái quái gì đi chăng nữa thì nó cũng chỉ là 1 công cụ hổ trợ ko hơn ko kém... ko có hồn, vô tri vô giác... Trí thông minh của con người hoàn toàn ko phụ thuộc vào những công cụ này (có điều là người có công cụ mạnh sẽ lảm việc dễ dàng hơn)... Bản thân tôi đã từng điên đầu vì những chương trình suy nghĩ hoài ko ra (tôi làm bên điện tự đông hóa chứ ko chuyên Excel), ấy thế mà cuối cùng lại thành công chỉ nhờ ý tưởng của bạn tôi (bạn tôi lại chẵng biết tí gì về lập trình cả)... Vậy thì sao nè? Mấy bác miền Tây chẳng học qua 1 lớp đào tạo nào về Kiến trúc và xây dưng vẫn dời nhà rầm rầm...
Vì thế mà ngay cả trên GPE này cũng vậy... tôi nghĩ việc bạn giãi thích ý tưởng bạn đã làm nó như thế nào còn quý hơn trăm ngàn cuốn sách... Đó mới là hiệu quả học tập đấy! Các bạn mới làm quen với Excel hãy yên tâm đi, dù bạn xây dựng code bằng cách nào đi nữa thì Ý TƯỞNG CỦA BẠN mới là cái quan trọng nhất...
ANH TUẤN
 
anhtuan1066 đã viết:
Đúng rồi! THUẬT TOÁN... Cái đó có thể gọi là "ý tưởng sáng tạo" đấy! Vì cho dù là VB, VBA hay cái quái gì đi chăng nữa thì nó cũng chỉ là 1 công cụ hổ trợ ko hơn ko kém... ko có hồn, vô tri vô giác... Trí thông minh của con người hoàn toàn ko phụ thuộc vào những công cụ này (có điều là người có công cụ mạnh sẽ lảm việc dễ dàng hơn)... Bản thân tôi đã từng điên đầu vì những chương trình suy nghĩ hoài ko ra (tôi làm bên điện tự đông hóa chứ ko chuyên Excel), ấy thế mà cuối cùng lại thành công chỉ nhờ ý tưởng của bạn tôi (bạn tôi lại chẵng biết tí gì về lập trình cả)... Vậy thì sao nè? Mấy bác miền Tây chẳng học qua 1 lớp đào tạo nào về Kiến trúc và xây dưng vẫn dời nhà rầm rầm...
Vì thế mà ngay cả trên GPE này cũng vậy... tôi nghĩ việc bạn giãi thích ý tưởng bạn đã làm nó như thế nào còn quý hơn trăm ngàn cuốn sách... Đó mới là hiệu quả học tập đấy! Các bạn mới làm quen với Excel hãy yên tâm đi, dù bạn xây dựng code bằng cách nào đi nữa thì Ý TƯỞNG CỦA BẠN mới là cái quan trọng nhất...
ANH TUẤN

OK. Cảm ơn bạn vì ý kiến này rất nhiều.
Ý tưởng là quan trọng nhất.
Và cũng rất cần phải có phương tiện phù hợp để thực hiện ý tưởng nữa.
 
Lần chỉnh sửa cuối:
Các bác chỉ nói về cách học như thế nào thôi chứ không thấy ai nhắc tới học ở đâu cả, mà đối với newmember mới làm quen với VB thì cách tốt nhất để học là tập tành từ các đoạn mã của các ví dụ đơn giản và một cuốn sách hướng dẫn cú pháp các hàm, thư viện hàm có sẵm trong VB. Nếu các bác nào có ebook nói về các vấn đề này thì xi up lên đây cho mọi người làm quen nha.
Thanks.
 
alpha1st đã viết:
Các bác chỉ nói về cách học như thế nào thôi chứ không thấy ai nhắc tới học ở đâu cả, mà đối với newmember mới làm quen với VB thì cách tốt nhất để học là tập tành từ các đoạn mã của các ví dụ đơn giản và một cuốn sách hướng dẫn cú pháp các hàm, thư viện hàm có sẵm trong VB. Nếu các bác nào có ebook nói về các vấn đề này thì xi up lên đây cho mọi người làm quen nha.
Thanks.

Nếu học VB6, bạn mua bộ gồm 3 đĩa cài MSDN của Visual Studio 98 cài vào máy, có các ví dụ, help đầy đủ.
Vào VB6 và nhấn F1 nhé.
 
Sách về VB trên GPE đã có nhiều rồi. Tôi xin bổ sung thêm để các bạn có thêm sự lựa chọn.
Tôi học VBA trong một tình huống khác. Ban đầu chỉ biết sơ sài về VB, công việc cần tôi phải xử lý số liệu trên Excel rất nhiều và khó khăn (những người trước tôi phải làm công việc đó trong 2 ngày mà rất dễ mắc phải sai sót). Thế là tôi cứ Tools - Macro - Record Macro; sau đó Alt + F11 để đọc, nghiên cứu và sửa code. Lúc đó, GPE chưa ra đời, tôi có tìm ở các nhà sách tại TpHCM nhưng không thấy cuốn sách nào cho ra hồn. Từ ngày biết đến GPE, trình độ VBA của tôi tiến bộ rất nhiều. Cảm ơn GPE rất nhiều.
Sao upload file bị lỗi hoài vậy? các bạn theo đường dẫn này để tải giáo trình của trường đại học Cần thơ nhé:
http://ebook.edu.net.vn/?page=1.3&view=1287
http://ebook.edu.net.vn/?page=1.3&view=1289
 
vtt đã viết:
Sách về VB trên GPE đã có nhiều rồi. Tôi xin bổ sung thêm để các bạn có thêm sự lựa chọn.
Tôi học VBA trong một tình huống khác. Ban đầu chỉ biết sơ sài về VB, công việc cần tôi phải xử lý số liệu trên Excel rất nhiều và khó khăn (những người trước tôi phải làm công việc đó trong 2 ngày mà rất dễ mắc phải sai sót). Thế là tôi cứ Tools - Macro - Record Macro; sau đó Alt + F11 để đọc, nghiên cứu và sửa code. Lúc đó, GPE chưa ra đời, tôi có tìm ở các nhà sách tại TpHCM nhưng không thấy cuốn sách nào cho ra hồn. Từ ngày biết đến GPE, trình độ VBA của tôi tiến bộ rất nhiều. Cảm ơn GPE rất nhiều.
Sao upload file bị lỗi hoài vậy? các bạn theo đường dẫn này để tải giáo trình của trường đại học Cần thơ nhé:
http://ebook.edu.net.vn/?page=1.3&view=1287

Đây là 2 link trực tiếp :

Visual Basic 6.0

Visual Basic 6.0 - Bài tập


Thân!
 
Muốn giỏi về bất cứ ngôn ngữ lập trình nào cũng cần giỏi về thuật toán đúng không các bác? Nhưng em vẫn thấy mông lung ở phần điều khiển các chuyển động của các shape trong powerpoint. Nhiều khi đòi hỏi mình phải giỏi về toán nữa cơ. Bác nào có ví dụ về mảng này làm ơn chia sẻ giúp em qua địa chỉ: xuanktk2@gmail.com nha. Cảm ơn cả nhà nhiều lắm!
 
Theo tôi, để lập trình VBA tốt, trước hết phải thông thạo về VB đã. Khi đó trình độ về VBA sẽ sâu hơn
Mời các bạn cho ý kiến

Theo tôi, không cần phải thông thạo về VB vì mỗi ngôn ngữ có mục đích sử dụng riêng.
Chỉ cần thông thạo những điều cơ bản là đủ nội công để khám phá chiêu thức mới!

Điều thứ 2, tôi thấy một số bạn học VBA theo cách record và xem nó có gì...
Thật sự cái này cũng có ích, tôi đôi khi cũng làm. Tuy nhiên, chỉ là một số việc đơn giản và nếu có phức tạp hơn thì bạn có thể hiểu đoạn code nó không nếu không học về các cú pháp hay đại khái là ngôn ngữ riêng của VBA? Ngoài ra không phải tất cả mọi thứ muốn sẽ record được!

Cuối cùng, nên xác định rõ bạn học VBA để làm gì ? Nếu mà phục vụ cho việc sử dụng excel chuyên nghiệp thì tôi thấy không cần thiết.
Bởi lẽ, nếu có cần thì cũng chỉ cần 1-2 hàm hay gì đó và sử dụng suốt cho công việc của bạn. Hơn nữa có các chuyên gia GPE rồi nè, nên đừng lo lắng phải đầu tư thêm tràn lan hén :)
Thân chào!
 
Cuối cùng, nên xác định rõ bạn học VBA để làm gì ? Nếu mà phục vụ cho việc sử dụng excel chuyên nghiệp thì tôi thấy không cần thiết.
Bởi lẽ, nếu có cần thì cũng chỉ cần 1-2 hàm hay gì đó và sử dụng suốt cho công việc của bạn. Hơn nữa có các chuyên gia GPE rồi nè, nên đừng lo lắng phải đầu tư thêm tràn lan hén :)
Thân chào!

Không đồng ý, VBA có thể giải quyết được nhiều bài toán mà thuần tuý Excel khó hoặc không làm được. Ví dụ đổi tiền từ số sang chữ, nội suy, liên kết với môi trường bên ngoài,.... Mà bạn phải đọc nội dung chủ đề.
 
Theo tôi, không cần phải thông thạo về VB vì mỗi ngôn ngữ có mục đích sử dụng riêng.
Chỉ cần thông thạo những điều cơ bản là đủ nội công để khám phá chiêu thức mới!
Điều thứ 2, tôi thấy một số bạn học VBA theo cách record và xem nó có gì...
Thật sự cái này cũng có ích, tôi đôi khi cũng làm. Tuy nhiên, chỉ là một số việc đơn giản và nếu có phức tạp hơn thì bạn có thể hiểu đoạn code nó không nếu không học về các cú pháp hay đại khái là ngôn ngữ riêng của VBA? Ngoài ra không phải tất cả mọi thứ muốn sẽ record được!
Cuối cùng, nên xác định rõ bạn học VBA để làm gì ? Nếu mà phục vụ cho việc sử dụng excel chuyên nghiệp thì tôi thấy không cần thiết.
Bởi lẽ, nếu có cần thì cũng chỉ cần 1-2 hàm hay gì đó và sử dụng suốt cho công việc của bạn. Hơn nữa có các chuyên gia GPE rồi nè, nên đừng lo lắng phải đầu tư thêm tràn lan hén :)
Thân chào!
Chào các bạn,
Mỗi ngôn ngữ lập trình có có mục đích sử dụng riêng của nó. Tùy mục đích sử dụng, người dùng sẽ chọn một ngôn ngữ lập trình để đạt mục đích của mình. Nhưng nếu viết chương trình hỗ trợ cho Excel nói riêng và các phần mềm của bộ Microsoft Office thì chắc chắn VBA phải là lựa chọn hàng đầu.
Những người mới học Excel làm được một số bài tập, vận dụng được vào công việc của mình rất dễ cảm thấy Excel không có gì là khó (vì thường chỉ dùng cho các công việc đơn giản) có tư tưởng chủ quan, học thế là đủ. Bản thân tôi cũng thế, biết Excel từ 1994, các yêu cầu của cơ quan đưa ra gần như vận dụng công thức đều giải quyết được (chủ yếu tính lương, cộng điểm, ...) nên cứ nghĩ là mình đã thạo Excel. Nhưng thực tế, có nhiều vấn đề rất đơn giản mà phải nhờ diễn đàn tôi mới biết.
Một bước ngoặc trong suy nghĩ của tôi là các hóa đơn tiền điện có dòng đọc số tiếng Việt, Excel có làm được không ? Tốn rất nhiều công sức nhưng không thành công. Tình cờ có được hàm đọc số tiếng Việt của tác giả Ông Văn Thông nhưng không biết cách nào đưa vào bảng tính vì có biết gì về VBA đâu. Lục tung các menu của Excel và cuối cùng cũng làm được và bắt đầu tiếp cận VBA. Điều tôi tâm đắc nhất khi biết vận dụng VBA vào bảng tính là nó làm đơn giản hóa bài toán và xử lý vấn đề có tính chuyên nghiệp hơn, thay vì phải viết hàng loại công thức, tạo thêm nhiều cột phụ thì chỉ cần viết code xử lý hàng loạt thao tác là xong.

Bước đầu cũng phải ghi record, rồi từ đó mới biết cú pháp như thế nào, nhưng quan trọng nhất là làm sao từ những dòng lệnh cứng ngắt đó, mình chỉnh sửa thế nào để nó phục vụ được cho ý đồ của mình. Cách này không phải duy nhất để học VBA, nhưng là con đường nhanh nhất để tiếp cận nó.
Các bạn trẻ bây giờ may mắn hơn thế hệ tôi nhiều, phương tiện đầy đủ, được học bài bản. Gặp khó thì có các diễn đàn giúp đỡ. Còn thế hệ tôi lúc tiếp cận VBA phải tự tìm hiểu qua các ví dụ trong Help (nhưng vốn tiếng Anh quá yếu), không có tài liệu, không có Internet. Nói ra sợ các bạn cười, tôi đã viết đọc số tiếng Việt, chuyển mã, sắp xếp tiếng Việt từ 1995 nhưng vì hạn chế kiến thức VBA, hơn 10 năm (2006) tôi mới dám tự tin đưa thành quả của cho công đồng sử dụng (nhưng vẫn chưa hoàn chỉnh).
Excel không phải là phần mềm quản lý cơ sở dữ liệu chuyên nghiệp, nhưng công tác văn phòng không thể thiếu Excel vì dễ học, dễ sử dụng. Nhưng biết VBA sẽ làm cho bảng tính của bạn trở nên chuyên nghiệp hơn, dễ sử dụng hơn. Hàm Excel rất nhiều nhưng không đủ cho tất cả các lĩnh vực. Ví dụ hàm chuyển số nhị phân sang thập phân BIN2DEC chỉ chuyển sang số thập phân tối đa là 511, muốn số lớn hơn thế phải dùng VBA hoặc phải dùng hàng loạt cột phụ mới giải quyết quyết được. Cho nên theo tôi, muốn sử dụng Excel chuyên nghiệp phải biết VBA.
Trên GPE, bạn có thể tham khảo các hàm, các thủ tục trên bài viết để vận dụng cho mục đích của mình. Nhưng bản thân bạn chưa biết VBA làm sao biết nó thành của bạn được ? Và không phải lúc nào trên GPE cũng có sẳn cho bạn, đâu phải bạn yêu cầu gì thì GPE phải giải quyết cho bạn. Trước tiên bạn phải tự lực. Bạn phải có cái nền VBA thì người khác mới có thể chỉ cách cho bạn xây tiếp công trình theo ý bạn.
Đến bây giờ tôi cũng như các bạn tham gia GPE, đừng nôn nóng khi học VBA. Bản thân tôi cũng chỉ hiểu một phần các bài viết trên GPE vì kiến thức mình chưa tới, nhưng một thời gian sau có thể mình sẽ hiểu.
Đôi lời cùng các bạn.
 
Theo mình, VBA hay VB đều là tạo ra các chương trình. Mà chương trình = cơ sở dữ liệu + thuật toán. Với VB thì ngoài lập trình bạn cần tạo một CSDL nào đó, còn với VBA trong excel hay access thì bản thân excel hay access là cơ sở dữ liệu rồi. Do vậy làm quen với Excel cơ bản, rồi mới học sang VBA. Bản thân mình chưa đọc một quyển sách nào về VB nhưng vẫn có thể làm tốt với VBA ( tốt theo nghĩa thíc gì là có thể làm được)
 

Bài viết mới nhất

Back
Top Bottom