Macro trong Google Sheets là gì?
Macro là một đoạn mã trong phần phụ trợ của Google Sheets và nó không hề khó như chúng ta tưởng. Macro này (một đoạn mã) là một loạt các bước mà bạn đã xác định và ngay sau khi chạy macro này, nó sẽ tự động thực hiện theo tất cả các bước này.
Để giúp bạn dễ hiểu hơn về Macro, Gitiho sẽ giới thiệu một ví dụ, giả sử bạn nhận được một tập dữ liệu trong đó bạn phải thực hiện ba việc:
1- Xóa tất cả các mục trùng lặp
2- Xóa tất cả các khoảng trắng thừa giữa các từ
3- Tạo đường viền cho toàn bộ tập dữ liệu
Giờ đây, bạn có thể thực hiện tất cả ba điều này trong Google Sheets theo cách thủ công (từng bước một).
Nhưng nếu bạn phải làm đi làm lại việc này hàng ngày hoặc nhiều lần mỗi ngày. Trong trường hợp đó, bạn có thể nhanh chóng ghi macro và tự động hóa các bước này. Vì vậy, lần tới khi bạn có tập dữ liệu cần thực hiện, tất cả những gì bạn phải làm là chạy macro và nó sẽ thực hiện các bước này.
Đừng lo lắng, bạn không cần phải biết bất kỳ loại mã nào để làm điều này. Khi ghi macro, bạn chỉ cần hiển thị cho Google Sheets các bước cần thực hiện (bằng cách thực hiện một lần). Google Sheets sẽ tự động tạo mã cho bạn và sử dụng mã đó sau này khi bạn chạy macro.
Vì vậy, hãy bắt đầu và ghi lại macro đầu tiên của mình nhé.
XEM NHANH BÀI VIẾT
Hãy ghi lại một macro đơn giản trong Google Sheets sẽ thực hiện những việc sau:
Bước 1: Chọn ô A1 trong trang tính.
Bước 2: Nhập nội dung văn bản Hello vào đó ô đó.
Bước 3: Tô màu ô màu vàng cho ô.
Dưới đây là các bước để ghi macro này trong Google Sheets:
Bước 1: Truy cập vào menu Tools.
Bước 2: Trong menu xổ xuống di con trỏ của bạn qua tùy chọn Macros, nó sẽ hiển thị một số tùy chọn bổ sung.
Bước 3: Chọn tiếp mục Record macro. Điều này sẽ cho phép ghi macro và cũng hiển thị một hộp thoại.
Bước 4: Trong hộp thoại Macro, chọn tùy chọn ‘Use absolute references’ (tùy chọn này được giải thích sau trong hướng dẫn này).
Các bước trên bắt đầu ghi macro. Từ thời điểm này trở đi (cho đến khi bạn dừng trình ghi macro), Google Sheets sẽ theo dõi tất cả những gì bạn làm trong đó và chuyển đổi các bước của bạn thành mã trong chương trình phụ trợ.
Xem thêm: Một số khái niệm và hướng dẫn cơ bản về Macro trong Google Sheets
Bây giờ vì Google Sheets đang ghi lại mọi bước công việc của bạn nên hãy thực hiện ba việc mà bạn muốn tự động hóa ở trên gồm:
Bước 1: Chọn ô A1 trong trang tính.
Bước 2: Nhập nội dung văn bản Hello vào đó ô đó.
Bước 3: Tô màu ô màu vàng cho ô (sử dụng tùy chọn Fill color từ thanh công cụ).
Khi bạn đã thực hiện xong ba bước trên, hãy bấm nút Save trong hộp thoại Macro.
Thao tác này sẽ mở hộp thoại Save new macro, nơi bạn cần chỉ định tên của macro rồi bấm nút Save một lần nữa để lưu lại. Bạn nên đặt tên gợi nhớ tính năng ngắn gọn để biết macro này làm gì.
Bạn cũng có một tùy chọn để chỉ định phím tắt cho macro này. Khi đặt phím tắt, bạn có thể sử dụng phím tắt này để chạy macro. Google Sheets tính cho phép bạn cài đặt phím tắt ở định dạng sau - Control + Alt + Shift + Number (trong đó số có thể nằm trong khoảng từ 0 đến 9)
Sau khi bạn lưu macro, có thể mất vài giây để lưu macro đó trong Google Sheets. Tại thời điểm này, Google Sheets đang chuyển đổi macro của bạn thành tập lệnh (Script) Google Sheets (điều mà Google Sheets hiểu được).
Sau khi hoàn tất việc lưu macro, bạn sẽ thấy một thông báo ở dưới cùng bên trái của tài liệu Google Sheets. Nó cũng hiển thị tùy chọn Edit Script và nếu bạn kích vào sẽ mở trình chỉnh sửa Google Apps Script và hiển thị cho bạn mã mà nó đã ghi lại.
Xem thêm: Hướng dẫn từng bước cách viết Macro trong VBA Excel
Khi bạn đã ghi macro, bạn có thể chạy nó bất cứ khi nào mình muốn và nó sẽ thực hiện theo các bước bạn đã chỉ ra khi ghi macro. Có một số cách bạn có thể chạy macro trong Google Sheets:
- Bằng cách sử dụng tùy chọn Macro Option từ menu Tools.
- Bằng cách sử dụng tổ hợp phím tắt.
- Từ Google Apps Script Editor
- Bằng cách gán cho một hình dạng.
Hãy cùng Gitiho tìm hiểu nhanh từng phương pháp chạy macro trong Google Sheets
Khi bạn đã ghi macro, bạn có thể dễ dàng chạy macro này bằng cách định vị nó từ menu Tools.
Bằng cách truy cập vào menu Tools và di con trỏ của bạn qua tùy chọn Macro.
Trong các tùy chọn bổ sung xuất hiện, bạn sẽ thấy tất cả các macro được liệt kê ở dưới cùng (sau ba tùy chọn đầu tiên).
Ngay sau khi bạn kích vào bất kỳ tên Macro nào trong danh sách, nó sẽ được thực thi ngay lập tức.
Google Sheets không nhanh bằng các công cụ bảng tính khác (chẳng hạn như Excel). Vì vậy, khi bạn kích vào bất kỳ tên macro nào, có thể mất vài giây để hoàn thành. Nó cũng phụ thuộc vào tự động hóa mà bạn đang cố gắng đạt được. Nếu cần phải nhiều bước để thực hiện, có thể mất nhiều thời gian hơn.
Khi bạn đang ghi macro trong Google Sheets, nó cũng yêu cầu chỉ định một phím tắt (bước tùy chọn). Phím tắt này có thể được chỉ định trong hộp thoại nơi bạn đặt tên cho macro sau khi quá trình ghi kết thúc.
Khi phím tắt đã được thiết lập, bạn chỉ cần sử dụng tổ hợp phím tắt này và Google Sheets sẽ ngay lập tức chạy macro đó. Một lần nữa, có thể mất vài giây hoặc lâu hơn tùy thuộc vào số lượng bước có trong macro.
Khi bạn ghi macro trong Google Sheets và lưu nó, các bước sẽ tự động được lưu trong trình chỉnh sửa tập lệnh Google Apps Script Editor (GASE) của. Bây giờ nếu bạn muốn thực thi macro, bạn cũng có thể thực hiện việc này từ trình soạn thảo GASE.
Để thực hiện việc này, trước tiên bạn cần mở trình soạn thảo GASE (bằng cách truy cập vào menu Tools và sau đó chọn tùy chọn Script Editorn trong menu xổ xuống).
Khi trình chỉnh sửa tập lệnh mở ra, hãy chọn macro bạn muốn chạy (từ menu thả xuống chọn chức năng cần thực hiện) và bấm vào nút phát (Play) trên thanh công cụ.
Bạn cũng có thể chèn một hình dạng trong trang tính và sau đó gán macro của mình cho nút đó. Để chèn một nút, hãy truy cập vào menu Insert và sau đó chọn tùy chọn Drawing.
Thao tác này sẽ mở hộp thoại Drawing. Kích vào biểu tượng Shapes trong hộp thoại và chèn hình dạng bạn muốn sử dụng làm nút để chạy macro.
Khi kích vào bất kỳ hình dạng nào, bạn cần sử dụng chuột để vẽ nó trong khu vực được cung cấp. Sau khi vẽ xong, bấm nút Save and Close, hình dạng sẽ được chèn vào trang tính.
Để gán macro cho hình dạng này, hãy kích chọn hình dạng vừa vẽ và kích vào dấu ba dấu xuất hiện ở trên cùng bên phải.
Từ các tùy chọn xuất hiện, chọn tùy chọn ‘Assign script’.
Các bước trên sẽ mở hộp thoại Assign Script, nơi bạn cần nhập tên của script mà mình muốn chạy. Tiếc rằng hiện tại, Google vẫn không có tùy chọn để hiển thị danh sách tất cả các tên của macro ngay trong hộp thoại này. Do đó bạn cần biết chính xác tên của macro đã lưu trước đó và nhập vào đây.
Bây giờ, bất cứ khi nào bạn bấm vào hình dạng, nó sẽ ngay lập tức chạy macro.
Xem thêm: Hướng dẫn cách đưa Macros lên thanh Ribbon trong Excel
Khi bạn sử dụng tham chiếu ô trong Google Sheets, tham chiếu đó có thể là tuyệt đối hoặc tương đối.
Tham chiếu ô tuyệt đối: $A$1
Tham chiếu ô tương đối: A1
Tham chiếu ô tuyệt đối có nghĩa là nếu bạn sao chép và dán các tham chiếu này vào công thức, các tham chiếu này sẽ không thay đổi. Đây là những điều tuyệt đối. Ví dụ: giả sử bạn có một số giá trị trong ô A1:A10 và có công thức =SUM($A$1:$A$10) trong ô B1.
Công thức này sử dụng tham chiếu ô tuyệt đối. Điều này có nghĩa là nếu sao chép và dán công thức này từ ô B1 đến B2 (hoặc bất kỳ ô nào khác trong trang tính), nó sẽ không thay đổi các ô mà nó đề cập đến.
Ngược lại, giả sử bạn sử dụng công thức sau trong ô B1: =SUM(A1:A10). Vì công thức này sử dụng tham chiếu ô tương đối nên khi sao chép và dán công thức từ ô B1 đến B2, công thức sẽ thay đổi thành =SUM(A2:A11).
Điều này là do việc sử dụng tham chiếu ô tương đối không khóa các tham chiếu ô và liên quan đến vị trí mà nó được sử dụng. Nếu sao chép công thức này vào ô C1, nó sẽ thay đổi thành = SUM(B1:B10). Điều này là bạn đã chuyển công thức sang phải một cột (từ B sang C), tham chiếu trong công thức cũng dịch chuyển theo một cột.
Bây giờ đến với macro trong Google Sheets, bạn có thể ghi macro với tham chiếu ô Tuyệt đối (Absolute) hoặc Tương đối (Relative). Tùy chọn này xuất hiện ngay khi bạn bắt đầu ghi macro.
Khi bạn ghi một macro với tham chiếu ô tuyệt đối, nó sẽ ghi nhớ các ô hoặc phạm vi đã chọn và sử dụng các ô tương tự khi bạn chạy macro. Ví dụ: nếu ghi một macro để nhập văn bản 'Hello' vào ô A1, khi bạn chạy lại macro này, nó sẽ luôn quay lại ô A1 và nhập văn bản 'Hello' vào ô A1.
Nhưng với tham chiếu ô tương đối, nó ghi nhớ vị trí mà bạn bắt đầu và sau đó di chuyển liên quan đến vị trí này. Ví dụ: Nếu bắt đầu ghi macro khi đã chọn ô B1 và trước tiên chọn A1 rồi nhập văn bản 'Hello' vào đó, macro của Google Sheets sẽ nhớ rằng bạn đã di chuyển một ô sang bên trái.
Vì vậy, lần sau khi bạn chạy macro này và chọn ô K1, nó sẽ nhập văn bản vào ô J1 (còn một ô đối với ô đã chọn).
Dưới đây là những lợi thế của việc sử dụng Macro được ghi lại:
- Trình ghi macro cung cấp cho bạn một giao diện dễ sử dụng cho phép hiển thị cho Google Sheets các bước chính xác mà bạn muốn tự động hóa. Sau khi hoàn tất, Google Sheets sẽ tạo mã cho các bước bạn đã làm theo. Bây giờ bạn có thể chạy macro mà không cần chạm vào mã đó.
- Trong trường hợp bạn tự tạo mã và cảm thấy bị mắc kẹt, bạn có thể sử dụng trình ghi Macro và xem qua mã mà nó tạo. Đối với người mới bắt đầu học Google Apps Script, trình ghi macro có thể là một “thầy giáo hướng dẫn” tuyệt vời.
Mặc dù macro rất tuyệt vời nhưng cũng có một số hạn chế nhất định như:
- Không thể tạo các chức năng tùy chỉnh: Mặc dù bạn có thể sử dụng Google Apps Script để tạo các chức năng tùy chỉnh nhưng lại không thể làm điều đó với máy ghi macro. Để tạo một hàm tùy chỉnh, bạn sẽ phải viết mã theo cách thủ công và chỉ định loại kết quả muốn hàm đó trả về.
- Không thể tạo macro để chạy dựa trên sự kiện: Giả sử bạn muốn macro chạy bất cứ khi nào người dùng mở sổ làm việc hoặc chọn một ô cụ thể hoặc thực hiện thay đổi trong trang tính, bạn không thể thực hiện việc này bằng cách sử dụng trình ghi macro. Đây là các sự kiện và vì bạn muốn macro kích hoạt khi sự kiện xảy ra nên phải chỉ định thủ công sự kiện kích hoạt và mã macro.
- Không thể chạy macro mà không chọn đối tượng: Khi bạn bắt đầu ghi macro trong Google Sheets, macro chỉ cần thực hiện theo tất cả các bước bạn thực hiện và tạo mã dựa trên nó. Để làm điều này, bạn cần phải thực hiện tuần tự chính xác các bước để macro làm theo. Điều này có nghĩa là macro chỉ có thể ghi lại những gì nó nhìn thấy trên màn hình và không thể thực hiện các thay đổi trong các trang tính khác đối với các tài liệu không được chọn. Tuy nhiên, bạn có thể làm điều này khi viết mã theo cách thủ công.
- Không thể tạo vòng lặp: Giả sử bạn muốn macro lặp qua từng ô trong một phạm vi và xóa hàng nếu giá trị trong ô là 'No' và giữ nguyên nếu giá trị đó là 'Yes'. Bạn không thể làm điều này với macro. Chắc chắn có nhiều cách để hoàn thành việc này (chẳng hạn như áp dụng bộ lọc và xóa các ô). Với trình ghi macro, bạn không thể lặp qua các ô nhưng lại có thể thực hiện khi viết mã theo cách thủ công.
- Không thể phân tích điều kiện và thực hiện hành động dựa trên nó: Với trình ghi macro, vì bạn không thể lặp qua các ô trong một phạm vi, nên cũng không thể phân tích điều kiện và thực hiện hành động dựa trên nó. Ví dụ: giả sử bạn muốn lặp lại tất cả các trang tính trong tài liệu Google Sheets và nhận danh sách tất cả các tên trang tính trong trang tính hiện hoạt. Điều này không thể được thực hiện với máy ghi macro và bạn phải viết mã theo cách thủ công cho nó.
Cuối cùng, đừng quên tham khảo khóa học Google Sheets của Gitiho bạn nhé! Hẹn gặp lại các bạn trong những bài viết tiếp theo.
Gitiho đã cho ra mắt khóa học Google Sheets từ Cơ bản đến Nâng cao, công cụ thay thế Excel giúp bạn hoàn toàn có thể tự tin phân tích và xử lý dữ liệu trên Google Sheet, lập bảng biểu, báo cáo trực quan và hơn thế nữa. Bấm vào để học thử ngay!