Bài số 1:
-------------Mục đích bài viết này dành mọi người -------
Tôi mới làm quen ngôn ngữ VBA - Visual Basic for Application được 4 ngày. VBA được sử dụng phổ biến với các công cụ của Microsoft Office - Excel, Access ...v.v . VBA rất hữu dụng khi các bạn làm việc với Microsoft Excel hay Access nhiều. Nó sẽ giúp chúng ta rút ngắn thời gian khi làm việc với các văn bản loại này. Những gì tôi sắp viết đây là những kinh nghiệm của tôi vì công việc làm đòi hỏi làm một project nho nhỏ có sử dụng VBA. Hy vọng nó sẽ bổ ích cho các bạn nào bắt đầu học ngôn ngữ này như tôi.
Nếu có quí vị nào là cao thủ VBA thì xin chỉ giáo và có ý kiến. Tôi xin tiếp nhận mọi ý kiến hay chỉ điểm của các bạn. Nếu tôi có gì sai sót xin các cao thủ VBA chỉ điểm cho vì không gì tốt hơn là học từ những cái lỗi của mình.
Chúng ta bắt đầu nhé:
Để có giao diện viết VBA thì mình phải mở một công cụ của của Microsoft Office trước.
1) Mở Excel nhe.
2) Rồi bấm Alt+ F11. Trước mặt bạn sẽ là môi trường viết VBA rồi.
3) Để có window viết codes, thì bấm Insert (trên Menu) và chọn Module
Đấy là môi trường VBA các bạn ạ
Viết thử một đoạn ngắn nhé:
Sub main()
MsgBox "Hello!"
End Sub
Bây giờ để chạy chương trinh này bạn chọn Run -> Run Sub/User Form hay là bấm F5. Bạn có thấy một cái hộp hiện lên với hàng chữ Hello!
Nếu các bạn thành công đến điểm này thì chỉ chưa đầy 10 phút mà bạn đã có thể viết được một chương trình VBA rồi. Bạn giỏi hơn tôi rồi đấy. Tôi phải mất hơn 30 phút. :P ( Nếu vì lý do nào đó bạn không làm được; bạn cho tôi biết nhe. )
Bài số 2:
Nhằm hỗ trợ viết VBA dễ dàng hơn, bạn nên có Excel VBA Language Reference cài trên máy bạn. Excel VBA Language Reference chỉ là dụng cụ hổ trợ viết và tra cứu mã nhanh chóng hơn. Để biết là máy bạn có Excel VBA Language Reference không. Từ đoạn mã của bài viết số 1:
Sub main()
MsgBox "Hello!"
End Sub
Bạn dùng con chuột chọn "MsgBox" và bấm F1. Nếu chương trình yêu cầu cài dĩa Microsoft Office vào ổ CD nghĩa là máy bạn không được trang bị Excel VBA Language Reference.
Bạn có thể tải chương trình này từ: [Đăng nhập để xem liên kết. ]
Sau khi tải file vbaxl11.exe về máy nhà. Bạn chỉ viec cài theo mặc định. Khi hoàn tất. Bạn thử : Dùng con chuột chọn "MsgBox" và bấm F1.
================
Xin ghi chú: Excel VBA Language Reference chỉ là bổ trợ. Có nó sẽ giúp bạn viết mã nhanh hơn 2 lần đấy theo kinh nghiệm của tôi.
================
Bây giờ xin vào phần bài chính bài số 2:
Bài học này tôi học được từ tác giả DanielKlann.
Tôi có thể tóm tắt thế này:
Đặt trường hợp thế này, mỗi buổi sáng bạn có thể nhận được một hồ sơ dạng text (có đuôi .txt) như thế này từ những chi nhánh bán cafe của công ty: [Đăng nhập để xem liên kết. ]
Làm thế nào để chuyển dữ liệu .txt thành hồ sơ Excel sau:
Bạn có thấy sự khác biệt không?
Nếu bạn là người sủ dụng Excel "tuyệt chiêu", bạn có thể làm như thế này mỗi buổi sáng:
1. Sử dụng Excel, tới danh mục có hồ sơ "Daily Sales.txt". Vừa mở hồ sơ vừa bấm Shift để hồ sơ không được mở theo dạng " Text Import ".
2. Xóa đi hai hàng đầu tiên.
3. Trong cell A1, bạn đánh vào là "Costbucks Daily Sales Report" và chuyển nó sang Fonts Arial có kích cỡ 18. Sau đó chuyển phần còn lại của trang thành cỡ 11 dạng Arial
4. Sau đó sử dụng Text to Columns trong Excel để đặt nội dung của từ A6 đến A21 thành 3 cột ( một cột là z"Branch Name", một là "Day Sales" và ba là "10 Day Avg").
5. Sau đó bạn chuyển các con số thành dạng Number, Thousand Separator and 0 decimal places ( dạng Số có cách biệt phần số thập phân là một ngàn)
6. Dùng công thức Total để tính cho cells B22 và C22 và ghi chữ 'Total' vào cell A22. Sau đó chuyển các cells này thành màu đậm (Bold).
7. Làm mỗi cột vừa đủ rộng để dữ liệu hiện ra: cột A kích cỡ 30, cột B và C kích 12.
8. Thế thôi !
Dù bạn rất giỏi Excel mà làm 8 bước trên mỗi buổi sáng thì cũng mệt phải không. Nếu bạn biết VBA thì sẽ trở nên hữu dụng. Chỉ cần 1 lần bạn viết macro - thì những buõi sáng sau này bạn sẽ có hồ sơ theo dạng Excel trong nháy mắt.
Nếu bạn háo hức muốn biết VBA làm thế nào để biến hồ sơ dạng txt sang Excel ngay bây giờ thì bạn vào xem trước bài viết tiếng Anh của tác giả Daniel Klann.
Bạn tìm hiểu thử. Lần sau tôi sẽ đi vào chi tiết phần mã .