VBA so với JavaScript Excel

Nếu bạn đã sử dụng macro trong Excel, bạn biết rằng chúng có thể giúp bạn tiết kiệm rất nhiều thời gian khi thực hiện các tác vụ thông thường cùng với việc cải thiện đáng kể độ chính xác của quy trình làm việc của bạn

Có thể dễ dàng tạo các macro đơn giản [được định nghĩa là macro với các luồng quy trình tuyến tính, cơ bản] bằng cách sử dụng Trình ghi macro. Các macro phức tạp hơn, chẳng hạn như những macro có thể yêu cầu người dùng nhập dữ liệu, chứa logic phân nhánh hoặc thực hiện kiểm tra lỗi cần phải được viết bằng tay bên trong trình chỉnh sửa mã macro

Macro được viết bằng một ngôn ngữ gọi là Visual Basic for Applications, viết tắt là VBA, là một tập hợp con của Visual Basic

Làm cách nào để Tập lệnh Office phù hợp với sơ đồ tự động hóa quy trình làm việc này?

Hãy cùng nhìn vào sự thật và xem liệu New Kid on the Block này có ở đây để truất ngôi Old Faithful hay không

“VBA và Office Script có điểm gì chung?”

  • VBA và Office Scripts được sử dụng để tự động hóa các tác vụ phổ biến, lặp đi lặp lại
  • Đối tượng mục tiêu cho cả hai công cụ là người dùng doanh nghiệp. Người dùng không bắt buộc phải là một lập trình viên có kinh nghiệm, nhưng các lập trình viên sẽ dễ dàng học các công cụ hơn

“VBA và Office Script khác nhau chỗ nào?”

  • VBA bị giới hạn sử dụng trong không gian ứng dụng dành cho máy tính để bàn. VBA không được hỗ trợ trong phiên bản Web của Office hoặc khi sử dụng Microsoft Teams
  • Tập lệnh Office hiện bị giới hạn sử dụng trong phiên bản Web của các ứng dụng Office và Microsoft Teams, nhưng có khả năng chức năng Tập lệnh Office cuối cùng sẽ chuyển xuống môi trường ứng dụng dành cho máy tính để bàn

Dựa trên những tuyên bố trên, có vẻ như một trong những công cụ này có tương lai tươi sáng hơn những công cụ kia. Bạn có đoán được không?

Mở khóa khóa học Excel VBA & Excel Macros

đạt được nhiều hơn. Tiết kiệm thời gian

Các Dự án & Sổ làm việc trong Thế giới Thực được bao gồm trong toàn bộ khóa học

Tự động hóa các tác vụ phức tạp với Excel VBA và Macro

NHẬN TRUY CẬP

Ví dụ về VBA và Macro trên máy tính để bàn

Macro VBA đơn giản

Dưới đây là tập dữ liệu và biểu đồ. Biểu đồ được tạo từ tập dữ liệu bằng macro VBA được ghi trước

Macro được viết theo cách có thể tự động phát hiện số lượng hàng trong dữ liệu và xây dựng biểu đồ tương ứng

Việc tạo macro được thực hiện bằng công cụ có tên là Trình ghi Macro. Công cụ này viết mã VBA cho chúng ta dựa trên việc quan sát nút nào được đẩy và dữ liệu nào được chọn. Nó yêu cầu một lượng nhỏ mã hóa thủ công để xác định phạm vi dữ liệu một cách linh hoạt, nhưng phần lớn được tạo mà không cần bất kỳ kiến ​​thức nào về ngôn ngữ VBA

Macro này được hiển thị trong bài đăng/video trước. Nếu bạn quan tâm đến việc tìm hiểu cách tạo macro này, hãy nhấp vào liên kết sau để xem video và hướng dẫn từng bước đầy đủ về cách tạo macro và biểu đồ

Chạy Macro VBA

Macro có thể được khởi chạy theo nhiều phương pháp khác nhau

  • Chọn Xem -> Macro -> Xem Macro -> {chọn macro theo tên} -> OK
  • Chọn Nhà phát triển -> Macro -> {chọn macro theo tên} -> Chạy
  • Chỉ định một phím tắt [ví dụ:. CTRL-r]
  • Chỉ định nút khởi chạy cho Thanh công cụ truy cập nhanh
  • Gán nút khởi chạy cho dải băng

Những người dùng kỳ lạ hơn thậm chí có thể gán macro cho hình dạng, hình ảnh hoặc biểu tượng mà khi được nhấp vào sẽ thực thi macro. Đó là những đứa trẻ THỰC SỰ tuyệt vời

Macro VBA phức tạp

Macro VBA có thể đơn giản hoặc phức tạp tùy theo nhu cầu của bạn

Dưới đây là ví dụ về tập hợp các macro thu hút người dùng tệp dữ liệu, tạo báo cáo dựa trên chủ đề người dùng cần, xuất kết quả thành tệp dữ liệu hoặc PDF, v.v.

Người dùng nhấp vào các nút khởi chạy mã để thực hiện các tác vụ cụ thể theo bất kỳ thứ tự nào họ chọn

Các macro có thể thực hiện các tác vụ theo nhiều thứ tự và mục đích khác nhau. Điều này tạo ra một môi trường rất năng động, nơi đầu ra có thể khác nhau tùy theo mục đích sử dụng. Logic không bị giới hạn trong một đường dẫn tuyến tính được xác định trước

Không giống như ví dụ macro VBA đơn giản, không thể tạo giải pháp này bằng Trình ghi Macro. Logic phân nhánh, vòng lặp quy trình và lời nhắc của người dùng quá phức tạp và yêu cầu mã thủ công để hoạt động bình thường

Nếu bạn quan tâm đến việc học cách viết mã VBA như ví dụ trên, hãy xem toàn bộ khóa học VBA của tôi trên trang web XelPlus

Mở khóa Excel VBA & Excel Macros

Tập lệnh văn phòng

Hãy nhớ rằng, Tập lệnh Office chỉ khả dụng khi sử dụng Excel [hoặc các ứng dụng Office 365 khác] trên Web

Đăng nhập vào Văn phòng. com bằng tài khoản Microsoft 365 của bạn, khởi chạy Excel cho Web và bắt đầu một sổ làm việc trống

Chọn tab Tự động hóa

Từ đây, bạn có thể ghi lại hành động của mình, xem tập lệnh hoặc thử một số tập lệnh được ghi sẵn

GHI CHÚ. Nếu bạn không có bảng Tự động hóa thì đó là do quản trị viên mạng của bạn đã tắt tính năng này thông qua một chính sách hoặc bạn không có tài khoản Microsoft 365 Business hoặc Enterprise

Ghi một tập lệnh Office “Macro”

Cũng giống như trong Excel và VBA, chúng ta có thể ghi một “macro”, hay trong trường hợp này là một tập lệnh

Công cụ này sẽ tự động tạo mã cần thiết dựa trên hành động của bạn

Tính năng “Record Actions” không nhạy bằng VBA Recorder; . Phải thừa nhận rằng VBA Recorder cũng không bắt được mọi hành động, nhưng nó mạnh hơn một chút so với tính năng “Record Actions”

Xin lưu ý rằng Office Script vẫn còn sơ khai so với VBA đã tồn tại hàng chục năm và đã trải qua hàng chục chu kỳ phát triển

Việc chúng tôi có một trình ghi tập lệnh giúp người dùng doanh nghiệp bắt đầu tìm hiểu mã cơ bản dễ dàng hơn

Ghi một tập lệnh

Chúng ta có thể ghi lại một Office Script đơn giản bằng cách nhấn nút “Record Actions”, sau đó thực hiện một loạt các tác vụ phổ biến, chẳng hạn như

  1. Nhập văn bản vào các ô, như tiêu đề và phụ đề
  2. Làm cho văn bản in đậm
  3. Thay đổi màu văn bản
  4. Thay đổi kích thước phông chữ
  5. Thêm đường viền cho tiêu đề

Các hành động trên được ghi lại bởi trình ghi tập lệnh và được liệt kê ở bên phải của cửa sổ

Chúng tôi dừng máy ghi âm và đặt tên cho tập lệnh là “Định dạng”

Nhấp vào nút Chỉnh sửa sẽ hiển thị mã tập lệnh bên dưới

Mã này được viết bằng ngôn ngữ có tên là TypeScript, đây là siêu bộ JavaScript có thêm kiểu gõ tĩnh tùy chọn vào ngôn ngữ

Bạn có thể viết JavaScript truyền thống trong cửa sổ mã nếu cần

Tài liệu tự động

Một tính năng tuyệt vời của trình ghi tập lệnh là bao gồm các nhận xét tự động để ghi lại mã ở định dạng ngôn ngữ tự nhiên hơn

“Tập lệnh được lưu ở đâu?”

Các tập lệnh được lưu trong một tệp tách biệt với tệp Excel mà nó được tạo. Các tập lệnh được lưu trong một tệp có tên “OfficeScripts” trong một thư mục trên trang OneDrive của bạn

Điều này có nghĩa là tập lệnh dễ dàng được sử dụng lại để sử dụng trong bất kỳ tệp Excel nào khác. Điều này giống như lưu trữ Macro VBA trong Sổ làm việc Macro cá nhân

Các tập lệnh có thể được kết nối với một tệp, do đó, nó sẽ di chuyển cùng với tệp khi được chia sẻ với những người dùng khác

Tôi có thể truy cập bất kỳ tệp Excel nào khác và chạy tập lệnh này từ dải băng Tự động hóa

“Thế còn vòng lặp, câu lệnh IF và mã phức tạp hơn thì sao?”

Mã phức tạp hơn có thể được tạo thủ công trong Trình chỉnh sửa mã, nhưng có nhiều điểm khác biệt giữa VBA và TypeScript

Một sự khác biệt là lựa chọn đối tượng. Trong VBA, nếu bạn thực hiện một hành động, chẳng hạn như chọn một ô, và bạn không cho VBA biết trang tính nào chứa ô đích, thì VBA coi như bạn muốn ô đó trên trang tính hiện được chọn [i. e. , Trang tính hiện hoạt]

Trong TypeScript, bạn được yêu cầu cho biết mã mà bạn muốn thao tác

Một sự khác biệt LỚN khác giữa VBA và Office Scripts là phương pháp mà phạm vi mục tiêu được chọn

Nếu chúng ta muốn lấy địa chỉ ô của ô đầu tiên trên trang tính [ô ở cột đầu tiên và hàng đầu tiên], chúng ta có thể viết một câu lệnh như sau

let MyAddress = selectedSheet.getCell[1,1].getAddress[]

Chúng tôi sẽ hiển thị kết quả bằng tính năng Console Log. Điều này sẽ hiển thị kết quả trên màn hình trong bảng Code Editor

console.log[MyAddress]

Nếu chúng tôi chạy mã của mình trên một trang tính có tên là Sheet Sheet3, chúng tôi sẽ thấy kết quả sau

Lưu ý rằng TypeScript cho rằng ô trên Hàng 1 và Cột 1 là ô B3. Điều này có vẻ không chính xác

Vấn đề là Office Scripts là một ngôn ngữ dựa trên con số không;

Chúng ta cần điều chỉnh bộ não của mình để nhớ bù giá trị vị trí bằng một, như trong ví dụ sau

let MyAddress = selectedSheet.getCell[0,0].getAddress[]

Làm chủ TẤT CẢ

Cho dù bạn là người mới bắt đầu hay người dùng Excel nâng cao, vẫn có khóa học dành cho bạn trong học viện của chúng tôi

NHẬN TRUY CẬP

Hạn chế của Office Script

Hãy nhớ rằng khi chúng tôi khởi chạy Macro VBA, chúng tôi có nhiều cách để thực hiện tác vụ này, như gán macro cho các biểu tượng và nút khởi chạy

Rất tiếc, chúng tôi không thể đính kèm Tập lệnh Office vào hình và biểu tượng. Chức năng này hy vọng sẽ xuất hiện trong bản cập nhật trong tương lai

Một hạn chế khác là không có hộp bật lên và hộp thông báo

Chúng tôi cũng bị hạn chế sử dụng Sự kiện để kích hoạt việc thực thi tập lệnh. Excel có thể khởi chạy macro dựa trên một sự kiện, chẳng hạn như nội dung của ô thay đổi hoặc lựa chọn trang tính

Điều đó không có nghĩa là tất cả đều là tin xấu

Chúng tôi có thể sử dụng Power Automate để kích hoạt quá trình thực thi tập lệnh. Điều này có nghĩa là chúng tôi thậm chí không cần phải mở Excel để chạy tập lệnh

Chúng tôi sử dụng Power Automate dựa trên trình kích hoạt. Trình kích hoạt có thể là thời gian đã lên lịch, nhận email Outlook, lựa chọn các hàng cụ thể trong một tệp Excel khác. Danh sách các tùy chọn kích hoạt rất lớn và không ngừng phát triển

“Có gì trong cửa hàng cho tương lai?”

Trong video sắp tới [tuần tới], chúng ta sẽ xem cách tạo biểu đồ cột bằng dải động. Chúng tôi sẽ sử dụng Trình ghi tập lệnh để viết hầu hết mã cần thiết, sau đó chúng tôi sẽ thực hiện một số điều chỉnh nhỏ đối với mã để làm cho mã năng động hơn

"Đây có phải là sự kết thúc của VBA?"

Office Scripts có định thay thế VBA không?

Nhiều công ty sử dụng phiên bản Excel dành cho Máy tính để bàn, một miền mà Tập lệnh Office hiện không có nơi cư trú

Nhiều công ty sẽ không nâng cấp lên Office 365

Nhiều thời gian và tiền bạc đã được đầu tư vào các giải pháp VBA phức tạp để tự động hóa nhiều quy trình kinh doanh. Hiện không thể nâng cấp các quy trình này lên Tập lệnh Office do không tương thích hoặc thiếu tính năng

Tôi có thể sử dụng JavaScript thay vì VBA không?

Có, bạn có thể . Bạn có thể dùng thử Google Trang tính, tôi thích hơn. Họ sử dụng Google App Script, một biến thể của JS và nó rất dễ học và có thể truy cập từ mọi nơi thông qua Chrome. Microsoft sẽ thay thế Excel VBA bằng Python hoặc JavaScript bất cứ lúc nào trong tương lai gần?

Excel VBA có còn phù hợp với năm 2022 không?

– Có, chắc chắn rồi. VBA chắc chắn không phải là ngôn ngữ lập trình hiện đại nhất, nhưng do sự phổ biến rộng rãi của Microsoft Office nó vẫn là một ngôn ngữ rất phù hợp trong năm 2022 .

VBA cho Excel có lỗi thời không?

NET Visual Basic, không còn được Microsoft hỗ trợ hoặc cập nhật , triển khai VBA trong Office tiếp tục được cập nhật để hỗ trợ Office mới . VBA được sử dụng để phát triển chuyên nghiệp và người dùng cuối do dễ sử dụng, cơ sở người dùng được cài đặt rộng lớn của Office và di sản phong phú trong kinh doanh.

JavaScript có thể được sử dụng trong Excel không?

Một phần bổ trợ Excel tương tác với các đối tượng trong Excel bằng cách sử dụng API JavaScript của Office , bao gồm hai mô hình đối tượng JavaScript. API JavaScript của Excel. Được giới thiệu với Office 2016, API JavaScript của Excel cung cấp các đối tượng được nhập mạnh mà bạn có thể sử dụng để truy nhập trang tính, phạm vi, bảng, biểu đồ, v.v.

Chủ Đề