Hướng dẫn lập trình excel Informational năm 2024

VBA (Visual Basic for Applications) là ngôn ngữ lập trình của Excel nói riêng và các ứng dụng khác của Microsoft Office nói chung.

Ngôn ngữ lập trình là là hệ thống những câu từ hoặc ký hiệu trung gian do con người viết nhằm “ra lệnh” cho máy tính làm điều mình muốn. Hiện nay, có rất nhiều ngôn ngữ lập trình khác nhau: pascal, Fox, VB, C++, … Nó giống như trên thế giới loài người có nhiều ngôn ngữ khác nhau.

Lập trình VBA trong Excel là việc viết ra các dòng/ câu lệnh để máy tự động thực hiện những thao tác người dùng muốn làm trong Excel. Vì vậy, khi muốn thực hiện một chức năng nào đó, ta chỉ cần gọi câu lệnh đã được lập trình sẵn bằng VBA thì Excel tự động thực hiện các thao tác đó một cách nhanh chóng và tiết kiệm rất nhiều thời gian so với việc thao tác thủ công bằng tay trên Ecxel. Ngoài ra, VBA trong Excel còn cho phép người dùng tạo các nút lệnh, các trường nhập liệu cơ bản để người sử dụng dễ dàng và thuận tiện khi thực hiện các thao tác.

Phần lớn người đi làm vẫn sử dụng Excel để xử lý dữ liệu và phân tích báo cáo mặc dù ngày nay, hầu hết các doanh nghiệp đều đã xây dựng và phát triển những hệ thống phần mềm kế toán và quản trị rất tốt như Oracle, SAP, … hoặc các ngân hàng sử dụng Core Banking như T24, Flexcube, …. Chính vì vậy, VBA trong Excel là một trong những công cụ cực kỳ hữu hiệu nâng cao năng suất làm việc của người đi làm trong thời buổi công nghệ ngày nay. Cụ thể như Kế toán hàng tháng phải tổng hợp dữ liệu và đối chiếu số liệu chi tiết từ file xuất từ hệ thống với Sổ Cái bằng các thao tác xuất dữ liệu, copy dữ liệu và dán dữ liệu vào một file Excel tổng hợp cố định; sau đó, chỉnh định dạng dữ liệu, đặt các công thức tính toán cố định để lên Bảng tổng hợp cuối tháng. Nếu bạn dùng Excel thông thường với kỹ năng xử lý dữ liệu thuần thục thì ít nhất sẽ mất 30 phút. Tuy nhiên, với VBA, tất cả những thao tác cố định lặp đi lặp lại này sẽ được Excel tự động thực hiện trong vòng vài giây. Nếu đây là một chuỗi các thao tác hàng tháng bạn phải làm thì một năm bạn đã tiết kiệm được ít nhất 5 tiếng cho công việc tổng hợp dữ liệu này.

Chinh vì vậy, nếu ví ngôn ngữ lập trình như phương tiện giao thông thì Excel như chiếc xe đạp và VBA như chiếc xe máy. Chúng ta sẽ giảm hiểu được những thao tác thủ công thay bằng việc tự động hóa nhằm tăng năng suất làm việc. Từ đó, bạn có thể đi sâu vào việc phân tích và đưa ra các giải pháp có ích cho doanh nghiệp. Đây chính là lợi ích mà hầu hết người đi làm và nhà quản trị mong muốn từ những công cụ hỗ trợ trong công việc.

VBA trong Excel và Automation nói chung đang và sẽ là xu hướng của Kế toán và Tài chính.

Với xu hướng tăng trưởng thần tốc của công nghệ, phần lớn những công việc đơn giản thủ công, mang tính chất tổng hợp, lặp đi lặp lại sẽ dần bị thay thế bởi tự động hóa để tập trung thời gian và trí lực hơn vào khía cạnh phân tích – khía cạnh mang lại nhiều giá trị thặng dư cho doanh nghiệp. Điều này đòi hỏi ngày càng cấp thiết hơn nguồn nhân lực có kỹ năng tự động hóa, hiểu nguyên tắc và thiết kế được các hệ thống tự động hóa cơ bản nhằm đáp ứng các yêu cầu báo cáo hiệu quả, thông tin chính xác và kịp thời. Vì thế, kỹ năng coding được dự báo sẽ là kỹ năng vô cùng cần thiết trong tương lai. Trong đó, đối với Kế toán và Tài chính thì VBA trong Excel là một kỹ năng quan trọng không thể thiếu.

Một số minh họa ứng dụng VBA trong xử lý và tổng hợp dữ liệu

Tự động Copy, Paste qua một Sheet mới, checking số tổng đảm bảo tính đầy đủ và tự động format để in trong 1 trang A4 chỉ bằng 1 nút click chuột.

Tự động Copy và Paste value dữ liệu từ những ô dữ liệu đang được filter , sau đó thoát filter chỉ bằng một thao tác.

Excel Macros là những chương trình nhỏ giúp lặp đi lặp lại những thao tác từ đơn giản đến phức tạp một cách tự động trong Excel. Ngoài Excel Macros, chúng ta còn có thể gặp Word Macro, PowerPoint Macro, Outlook Macro …

2. VBA là gì?

VBA viết tắt của Visual Basic for Applications, là một ngôn ngữ lập trình đi kèm với một số phần mềm của Microsoft. Ngoài ra, Excel VBA, Word, PowerPoint, Outlook… được sử dụng rất phổ phiến.

3. Ghi và thực hiện macro.

Bạn sử dụng chức năng Macro Recorder là một ý tưởng hay để từng bước thực hiện các công việc, nhất là lúc đầu tìm hiểu về macro. Excel đã hỗ trợ ghi lại (recorder) các công việc bạn đã thực hiện và chỉ không ghi lại khi bạn dừng ghi. Ví dụ, một ô (cell) được chọn (selected) ở hiện tại sẽ không được ghi cho đến khi bạn thực hiện công việc trong ô đó. Ngoài ra, Excel cũng không ghi lại các công việc khi đang sử dụng bảng điều khiển (dialog box) cho đến khi bạn ấn nút OK trên bảng điều khiển đó.

Điều kiện để có thể tiến hành ghi macro:

  • Bảng tính Excel hiện hành (Activate Excel).
  • Sử dụng Workbook mới.
    Hướng dẫn lập trình excel	Informational năm 2024

3.1 Ghi macro trong trường hợp sử dụng tham chiếu địa chỉ ô tuyệt đối.

Thực hiện tạo 1 macro nhập tên tuổi, địa chỉ

Kết quả:

Hướng dẫn lập trình excel	Informational năm 2024

3.2 Chạy macro khi sử dụng bảng điều khiển macro (Macro dialog box)

Bạn cho chạy macro trên từ Sheet2 như sau:

3.3 Ghi macro trong trường hợp sử dụng tham chiếu địa chỉ ô tương đối

Macro Infor_user sử dụng địa chỉ ô tuyệt đối. Tiếp theo bạn sẽ tạo một macro cũng giống như trên. Macro trước đã chọn các ô (select cells) có quan hệ với vị trí của ô hoạt động (active) trong quá trình chạy, macro sẽ ghi lại quan hệ tham chiếu ô tương đối. Sự khác nhau của tham chiếu địa chỉ ô tương đối và địa chỉ ô tuyệt đối là: Tham chiếu địa chỉ ô tuyệt đối:

    ActiveCell.Offset(7, 2).Range("A1").Select
    ActiveCell.FormulaR1C1 = "Phan Van Hieu"

tham chiếu địa chỉ ô tương đối

    Range("B3").Select
    ActiveCell.FormulaR1C1 = "Phan Van Hieu"

Môt cách khác để thực hiện Recording tương đối và tuyệt đối là: Để sử dụng tham chiếu tương đối trong suốt quá trình ghi macro, nút Relative Reference luôn sáng (có tác dụng). Để sử dụng tham chiếu tuyệt đối trong suốt quá trình ghi macro, nút Relative Reference luôn tối (không tác dụng).

Hướng dẫn lập trình excel	Informational năm 2024

3.4 Dùng phím tắt để thực hiện một macro (shortcut key)

Macro Address_Ref có thể thực hiện như mô tả trong mục 3.2. Lúc trước phím tắt đã được ấn định để thực hiện công việc đó, hãy sử dụng phương pháp thay thế này: