28.9 C
Ho Chi Minh City
Thursday, June 25, 2026
geo.gg
Trang chủCông thức ExcelVBA đang dần mai một, và Microsoft đang xây dựng tương lai...

VBA đang dần mai một, và Microsoft đang xây dựng tương lai của Excel mà không cần đến nó

Join LeQuocThai.Com on Telegram Channel

Đánh giá lequocthai.com:

0 / 5 Voted: 0 Votes: 0

Your page rank:

Visual Basic for Applications (VBA) từ lâu đã là ông vua không thể tranh cãi của thế giới bảng tính, nhưng sự thống trị đó cuối cùng cũng đang lung lay. Từ những vấn đề bảo mật tồi tệ cho đến sự trỗi dậy của các công cụ hiện đại, kỷ nguyên của các macro lỗi thời đang đi đến hồi kết. Đã đến lúc đón nhận một Excel mới.

Hầu hết văn phòng nào cũng có một “anh Dave”. Dave là người đã viết một macro VBA dài 5.000 dòng để chạy báo cáo của công ty. Nhưng Dave đã nghỉ hưu năm năm trước, và tệp XLSM của anh ta giờ giống như một quả bom hẹn giờ: không ai biết nó hoạt động ra sao, sửa chữa thế nào, hay liệu một ngày nào đó nó có “phát nổ” hay không. Kỷ nguyên “macro của Dave” gần như đã kết thúc, không phải vì VBA bị lỗi, mà vì cách chúng ta làm việc đã thay đổi. Đây là lý do.

Cơn ác mộng về bảo mật: Lý do bộ phận CNTT chặn macro của bạn

Đừng hiểu lầm: VBA cực kỳ mạnh mẽ. Nó có thể tự động hóa gần như mọi tác vụ trong bộ Office, từ tạo báo cáo tài chính phức tạp đến điều khiển các ứng dụng khác như Outlook hay Word. Về cơ bản, nó là một siêu năng lực cho bảng tính của bạn.

Tuy nhiên, điểm yếu chết người của nó lại nằm ở bảo mật. Vì macro tương tác trực tiếp với hệ thống tệp cục bộ, chúng đã trở thành vũ khí ưa thích của tin tặc. Chỉ cần một tệp XLSM đáng ngờ cũng có thể kích hoạt một cuộc tấn công ransomware trên toàn mạng.

Microsoft đã phản ứng bằng cách “tạo khó khăn có chủ đích” — như một phần của nỗ lực rộng lớn hơn nhằm chặn các macro nguy hiểm, các tệp có thẻ Mark of the Web (MotW) sẽ bị chặn theo mặc định với một cảnh báo màu đỏ rực, mà người dùng phổ thông rất khó vượt qua nếu không nhờ đến bộ phận CNTT hoặc mò mẫm sâu trong thuộc tính tệp.

Hình 16: Biểu ngữ cảnh báo Rủi ro Bảo mật màu đỏ xuất hiện trong Office khi người dùng mở một tệp không đáng tin cậy.

Bằng cách ngày càng gây khó khăn cho việc chia sẻ và mở sổ làm việc có macro, Microsoft đang đẩy chúng ta về phía các giải pháp thay thế an toàn hơn, sẵn sàng cho đám mây.

Trình soạn thảo Visual Basic: Cỗ máy thời gian từ Windows 95

Trong khi Microsoft 365 đã khoác lên mình diện mạo hiện đại, thì chỉ cần nhấn Alt+F11, bạn sẽ bị đưa ngược về một cỗ máy thời gian đóng băng từ thời Windows 95.

Hình 18: Trình soạn thảo Visual Basic với một mô-đun trống.

Với những cửa sổ màu xám lỗi thời và thanh ribbon cồng kềnh, không có chế độ tối gốc, tính năng tự động hoàn thành cơ bản, giao diện lõi này về cơ bản đã không được Microsoft cập nhật trong nhiều thập kỷ. Hơn nữa, vì VBA bị nhốt bên trong tệp nhị phân của Excel, nó nổi tiếng là khó quản lý với các công cụ hiện đại như Git hay GitHub.

Khám phá:  Tạo danh sách thả xuống từ tiêu đề bảng Excel - Tưởng khó mà dễ với mẹo này

Ngày nay, trình soạn thảo này chỉ còn là công cụ để bảo trì. Nó không còn là một môi trường phát triển hiện đại nữa.

Sát thủ thầm lặng: Lý do Power Query đã soán ngôi Trình ghi Macro

Trong khi VBA có thể xử lý hầu hết mọi tác vụ tự động hóa, thì đối với công việc làm sạch dữ liệu hàng ngày, giờ đây nó giống như “dùng dao mổ trâu để giết gà”. Power Query đã khiến các macro được ghi lại trở nên lỗi thời bằng cách tự động hóa logic thay vì chỉ ghi lại các cú nhấp chuột.

Lý do thực sự Power Query đang thắng thế trong cuộc chiến tự động hóa nằm ở thiết kế cốt lõi của nó:

Tính năng VBA cũ (trình ghi macro) Power Query hiện đại
Phong cách tự động hóa Thủ tục: Ghi lại các thao tác và tọa độ ô cụ thể. Khai báo: Ghi lại logic và ý định thay đổi dữ liệu.
Khả năng hiển thị Mã nguồn rối rắm: Ẩn trong trình soạn thảo “hộp đen” khó đọc. Các bước đã áp dụng: Danh sách rõ ràng, theo trình tự thời gian của mọi thay đổi (xem ảnh chụp màn hình bên dưới).
Bảo trì Tốn nhiều công sức: Cần gỡ lỗi từng dòng mã nếu tên cột thay đổi. Dễ dàng: Chỉ cần cập nhật bước cụ thể trong trình chỉnh sửa trực quan.
Độ ổn định Dễ vỡ: Thường hỏng nếu thêm hàng hoặc cột làm lệch vị trí. Mạnh mẽ: Được thiết kế để xử lý các thay đổi cấu trúc và dữ liệu hỗn độn một cách tự nhiên.
Xử lý lỗi Dừng đột ngột: Một giá trị bất ngờ thường khiến toàn bộ tập lệnh ngừng hoạt động. An toàn: Đánh dấu lỗi nhưng vẫn cho phần còn lại của quy trình chạy tiếp.

Hình 19: Ngăn Các bước đã áp dụng (Applied Steps) trong Trình chỉnh sửa Power Query của Excel.

Bằng cách sử dụng Power Query thay vì VBA, bạn đang xây dựng một quy trình dữ liệu có thể lặp lại, dễ hiểu và dễ bảo trì hơn nhiều.

Office Scripts: Cầu nối tự động hóa đến web

Đối với nhiều người dùng chuyên sâu, VBA là cách để xây dựng giao diện tùy chỉnh. Nếu bạn cần một nút để đồng nghiệp nhấp vào và gửi hóa đơn hoặc tạo PDF, VBA từng là lựa chọn thực tế duy nhất. Tuy nhiên, những nút này chỉ hoạt động trên máy tính để bàn — nếu mở cùng một tệp trên trình duyệt web hoặc thiết bị di động, macro sẽ không chạy.

Khám phá:  Hàm Subtotal trong Excel – Hướng dẫn sử dụng

Giải pháp hiện đại của Microsoft là Office Scripts. Được xây dựng trên TypeScript, chúng được thiết kế đặc biệt cho kỷ nguyên ưu tiên đám mây và bảo mật ngày nay:

  • Nút bấm thực sự hoạt động: Giờ đây, bạn có thể gắn tập lệnh vào hình dạng hoặc nút hoạt động trên Excel cho web, Mac và Windows.
  • Logic gốc đám mây: Khác với VBA, các tập lệnh này chạy trên máy chủ thay vì máy cục bộ, cho phép chúng tích hợp với các dịch vụ đám mây khác.
  • Kỹ năng có giá trị hơn: TypeScript là một trong những ngôn ngữ phổ biến nhất thế giới. Việc học nó sẽ tốt cho sơ yếu lý lịch của bạn hơn là thông thạo cú pháp già cỗi của VBA.
  • An toàn theo thiết kế: Office Scripts chạy trong một môi trường cách ly an toàn (sandbox), nghĩa là chúng có thể thực hiện công việc mà không cần quyền truy cập toàn bộ hệ thống của bạn.

Tab Tự động hóa (Automate) là nơi tồn tại của thế giới mới này. Nó có nút “Tạo từ bản ghi (Create from Recording)” biến các thao tác thủ công của bạn thành mã TypeScript sạch sẽ — một sự khác biệt lớn so với mã nguồn rối rắm do trình ghi macro VBA cũ tạo ra.

Power Automate: Chất kết nối cho bộ Microsoft 365

VBA từng rất giỏi trong việc di chuyển dữ liệu trong một bảng tính Excel, nhưng lại gặp khó khăn khi giao tiếp với các ứng dụng khác nếu không có các thư viện tham chiếu phức tạp. Power Automate giải quyết vấn đề này bằng vai trò là chất kết nối cho toàn bộ bộ Microsoft 365. Nó cho phép bạn xây dựng các luồng (flow) liên kết Excel với các ứng dụng bên ngoài như Outlook, Teams và SharePoint thông qua giao diện kéo-thả, không cần hoặc ít cần viết mã. Không giống các macro cũ, những tự động hóa này dựa trên trình kích hoạt — bạn có thể thiết lập một quy trình chạy ngay khi email đến hoặc khi một hàng mới được thêm vào danh sách SharePoint.

Các luồng này chạy trên máy chủ của Microsoft, vì vậy quá trình tự động hóa của bạn vẫn tiếp tục ngay cả khi tệp Excel đã đóng. Điều này biến một dự án VBA phức tạp, đa tác vụ thành một tác vụ đơn giản có thể được xử lý bằng các trình kết nối kéo và thả.

Dấu chấm hết: Python trong Excel

Các nhà khoa học dữ liệu và chuyên gia mô hình tài chính giờ đây có thể tận dụng lợi thế của việc tích hợp Python trực tiếp vào lưới Excel. Chỉ cần gõ =PY vào một ô, bạn sẽ có quyền truy cập vào các thư viện tiêu chuẩn ngành như pandas và matplotlib.

Khám phá:  Cách thực hiện tính toán trong Excel mà không cần công thức

Hình 21: Giao diện Excel hiển thị thanh công thức Python với mã Pandas và bản tóm tắt dữ liệu kết quả trong lưới bảng tính.

Điều này được coi là dấu chấm hết cho VBA vì một số lý do sau:

  • Xử lý ưu việt: Python xử lý logic phức tạp và các tập dữ liệu khổng lồ mà trước đây sẽ cần đến hàng nghìn dòng mã VBA cồng kềnh.
  • Bảo mật đám mây: Giống như Office Scripts, Python trong Excel chạy trong các container bảo mật, biệt lập trên đám mây (yêu cầu kết nối internet), loại bỏ các vấn đề bảo mật cục bộ vốn khiến VBA trở thành mục tiêu của phần mềm độc hại.
  • Tiêu chuẩn chuyên nghiệp: Thay vì sử dụng một ngôn ngữ độc quyền như Visual Basic, bạn đang sử dụng ngôn ngữ của các nhà khoa học dữ liệu.
  • Tích hợp liền mạch: Đầu ra từ Python có thể là các đối tượng Excel thực sự, nghĩa là bạn có thể dùng ngôn ngữ này để phân tích dữ liệu và đưa kết quả trực tiếp trở lại công thức hoặc PivotTable của Excel.

VBA từng độc chiếm lĩnh vực xử lý phức tạp, và trong khi nó vẫn giữ ưu thế trong việc điều khiển giao diện người dùng Excel, thì Python đã chính thức tiếp quản công việc phân tích dữ liệu nặng nhọc vốn là nhiệm vụ chính của VBA trước đây.

VBA sẽ không biến mất chỉ sau một đêm — có quá nhiều “macro của Dave” cũ kỹ vẫn đang vận hành nền kinh tế toàn cầu để Microsoft có thể tắt nó hoàn toàn. Tuy nhiên, ngôn ngữ này trên thực tế đã bước vào giai đoạn chỉ bảo trì: tự động hóa hiện đại giờ đây được giải quyết thông qua các công cụ mới hơn, ưu tiên đám mây. Dave có thể giữ những bảng tính cũ của mình, nhưng tương lai của Excel đang được xây dựng ở một nơi khác.

Tags: VBA, Excel Automation, Office Scripts

Join LeQuocThai.Com on Telegram Channel

Lê Quốc Thái
Lê Quốc Tháihttps://lequocthai.com/
Yep! I am Le Quoc Thai codename name tnfsmith, one among of netizens beloved internet precious, favorite accumulate sharing all my knowledge and experience Excel, PC tips tricks, gadget news during over decades working in banking data analysis.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây
Captcha verification failed!
CAPTCHA user score failed. Please contact us!

Join LeQuocThai.Com on Telegram Channel

Đọc nhiều nhất

BÀI VIẾT MỚI NHẤT

CÙNG CHỦ ĐỀ