Các giá trị dán macro của Google trang tính
Show
Sao chépDánLoại Một bảng liệt kê các loại dán đặc biệt có thể
Google Sheets Macro là các chương trình nhỏ bạn tạo bên trong Google Sheets mà không cần viết bất kỳ mã nào Chúng được sử dụng để tự động hóa các tác vụ lặp lại. Chúng hoạt động bằng cách ghi lại hành động của bạn khi bạn làm điều gì đó và lưu những hành động này dưới dạng "công thức" mà bạn có thể sử dụng lại chỉ bằng một cú nhấp chuột Ví dụ: bạn có thể áp dụng định dạng tương tự cho biểu đồ và bảng của mình. Thật tẻ nhạt khi làm điều này một cách thủ công mỗi lần. Thay vào đó, bạn ghi lại một macro để áp dụng định dạng khi nhấp vào nút Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng chúng, khám phá những hạn chế của chúng và cũng xem cách chúng là một điểm khác biệt tuyệt vời trong thế giới tuyệt vời của mã hóa Apps Script 💡 Tìm hiểu thêmTìm hiểu thêm về Google Apps Script trong khóa học Giới thiệu về Apps Script dành cho người mới bắt đầu miễn phí này nội dung
1. Macro Google Trang tính là gì?Hãy nghĩ về một ngày làm việc điển hình với Google Trang tính đang mở. Có thể có một số nhiệm vụ bạn thực hiện lặp đi lặp lại, chẳng hạn như định dạng báo cáo để trông theo một cách nhất định hoặc thêm cùng một biểu đồ vào dữ liệu bán hàng mới hoặc tạo công thức đặc biệt dành riêng cho doanh nghiệp của bạn Tất cả đều mất thời gian, phải không? Chúng lặp đi lặp lại. Chắc chán quá. Bạn chỉ trải qua những chuyển động giống như ngày hôm qua, tuần trước hoặc tháng trước. Và bất cứ thứ gì lặp đi lặp lại đều là ứng cử viên sáng giá cho việc tự động hóa Đây là nơi các macro Google Trang tính xuất hiện và đây là cách chúng hoạt động
Chúng thực sự rất đơn giản ^ Quay lại Nội dung 2. Tại sao bạn nên sử dụng macro trong Google Trang tính?Có một lý do rõ ràng là macro trong Google Trang tính có thể giúp bạn tiết kiệm rất nhiều thời gian, cho phép bạn tập trung vào hoạt động có giá trị cao hơn Nhưng có một loạt các lý do khác ít rõ ràng hơn như. tránh sai sót, đảm bảo tính nhất quán trong công việc, giảm sự nhàm chán trong công việc (hệ quả. tăng động lực. ) và cuối cùng, chúng là cánh cửa tuyệt vời để bước vào thế giới tuyệt vời của mã hóa Apps Script, nơi bạn thực sự có thể tăng tốc cho bảng tính của mình và Google Workspace hoạt động ^ Quay lại Nội dung 3. Các bước để ghi macro đầu tiên của bạnHãy xem qua quá trình tạo một macro siêu cơ bản, theo các bước 1) Mở Google Trang tính mới (mẹo chuyên nghiệp 1. loại trang tính. mới vào trình duyệt của bạn để tạo Trang tính mới ngay lập tức hoặc mẹo chuyên nghiệp 2. trong thư mục Drive của bạn, nhấn Shift + s để tạo Trang tính mới trong thư mục đó ngay lập tức). Nhập một số từ trong ô A1 2) Chuyển đến menu macro. Công cụ > Macro > Ghi macro 3) Bạn có thể lựa chọn giữa tham chiếu Tuyệt đối hoặc Tương đối. Đối với ví dụ đầu tiên này, hãy chọn tham chiếu tương đối Tham chiếu tuyệt đối mỗi lần áp dụng định dạng cho cùng một phạm vi ô (nếu bạn chọn A1. D10 chẳng hạn, nó sẽ luôn áp dụng macro cho các ô này). Sẽ hữu ích nếu mỗi lần bạn muốn áp dụng các bước cho một lô dữ liệu mới và mỗi lần nó ở cùng một vị trí phạm vi Các tham chiếu tương đối áp dụng định dạng dựa trên vị trí của con trỏ (nếu bạn ghi lại macro đã áp dụng cho ô A1, nhưng sau đó chạy lại macro khi bạn đã chọn ô D5, thì các bước macro sẽ được áp dụng cho D5 ngay bây giờ). Nó hữu ích cho những thứ như công thức mà bạn muốn áp dụng cho các ô khác nhau 4) Áp dụng một số định dạng cho văn bản trong ô A1 (e. g. làm cho nó đậm, làm cho nó lớn hơn, thay đổi màu sắc, v.v. ). Bạn sẽ nhận thấy trình ghi macro ghi lại từng bước 5) Khi bạn hoàn tất, hãy nhấp vào LƯU và đặt tên cho Macro của bạn. (Bạn cũng có thể thêm một phím tắt để cho phép truy cập nhanh để chạy macro của bạn trong tương lai. ) Nhấp lại vào LƯU và Google Trang tính sẽ lưu macro của bạn. 6) Macro của bạn hiện có sẵn để sử dụng và được truy cập thông qua menu Công cụ > Macro 7) Lần đầu tiên bạn chạy macro, bạn sẽ được nhắc cấp quyền cho nó chạy. Đây là một biện pháp bảo mật để đảm bảo bạn hài lòng khi chạy mã ở chế độ nền. Vì bạn đã tạo nên bạn có thể tiếp tục an toàn Trước tiên, bạn sẽ nhấp vào Tiếp tục trên cửa sổ bật lên Ủy quyền. Sau đó chọn tài khoản Google của bạn Cuối cùng, hãy xem lại các quyền và nhấp vào Cho phép . 8) Sau đó, macro sẽ chạy và lặp lại các hành động bạn đã ghi trên ô mới mà bạn đã chọn Bạn sẽ thấy các thông báo trạng thái màu vàng sau nhấp nháy trên đầu Google Trang tính của mình và sau đó bạn sẽ thấy kết quả tuyệt vời Chúc mừng bạn đã có macro Google Trang tính đầu tiên. Bạn thấy đấy, thật dễ dàng Đây là một GIF nhanh hiển thị đầy đủ quá trình ghi macro Và đây là giao diện khi bạn chạy nó ^ Quay lại Nội dung 4. Sự lựa chọn khác4. 1 phím tắt vĩ môĐây là một tính năng tùy chọn khi bạn lưu macro của mình trong Google Trang tính. Chúng cũng có thể được thêm vào sau thông qua menu Công cụ > Macro > Quản lý macro Phím tắt cho phép bạn chạy macro bằng cách nhấn tổ hợp phím cụ thể mà bạn đã đặt, giúp bạn tiết kiệm thêm thời gian bằng cách không phải nhấp qua các menu Mọi phím tắt macro phải là duy nhất và bạn bị giới hạn ở tối đa 10 phím tắt macro trên mỗi Google Trang tính Trong ví dụ trên, tôi có thể chạy macro này bằng cách nhấn ⌘ + tùy chọn + ca + 1 các phím cùng một lúc (có thực hành không?). Sẽ là một tổ hợp phím khác trên PC/Chromebook 4. 2 Xóa macroBạn có thể xóa macro Google Trang tính khỏi Trang tính của mình thông qua menu quản lý macro. Công cụ > Macro > Quản lý macro Trong danh sách macro của bạn, hãy tìm macro bạn muốn xóa. Bấm vào ba dấu chấm dọc ở bên phải của macro rồi chọn Xóa macro 4. 3 Nhập các macro khácCuối cùng, bạn có thể thêm bất kỳ hàm nào bạn đã tạo trong tệp Apps Script vào menu Macro để bạn có thể chạy chúng mà không cần phải vào cửa sổ trình chỉnh sửa tập lệnh. Đây là tùy chọn nâng cao hơn dành cho người dùng cảm thấy thoải mái hơn khi viết mã Apps Script Tùy chọn này chỉ khả dụng nếu bạn có các chức năng trong tệp Apps Script chưa có trong menu macro. Nếu không nó sẽ bị mờ đi ^ Quay lại Nội dung 5. Các phương pháp hay nhất dành cho Macro Google Trang tínhSử dụng số lượng hành động tối thiểu bạn có thể khi ghi macro để giữ cho chúng hoạt động hiệu quả nhất có thể Đối với các macro thực hiện thay đổi đối với một ô duy nhất, bạn có thể áp dụng những thay đổi tương tự đó cho một dải ô bằng cách tô sáng dải ô đó trước rồi chạy macro. Vì vậy, thường không cần thiết phải đánh dấu toàn bộ phạm vi khi bạn ghi macro của mình ^ Quay lại Nội dung 6. Hạn chế của Google Sheets MacrosMacro được liên kết với Google Trang tính nơi chúng được tạo và không thể sử dụng bên ngoài Trang tính đó. Tương tự, các macro được viết trong tệp Apps Script độc lập sẽ bị bỏ qua đơn giản Macro không khả dụng cho các công cụ khác của Google Workspace như Google Tài liệu, Trang trình bày, v.v. (Ít nhất là chưa. ) Bạn không thể phân phối macro dưới dạng thư viện hoặc xác định chúng trong Tiện ích bổ sung của Trang tính. Tôi hy vọng việc phân phối macro sẽ được cải thiện trong tương lai để bạn có thể tạo danh mục macro có sẵn trên bất kỳ Trang tính nào trong thư mục Drive của mình ^ Quay lại Nội dung 7. Tổng quan về Google Sheets MacrosỞ hậu trường, macro trong Google Trang tính sẽ chuyển đổi hành động của bạn thành mã Apps Script, đây chỉ là một phiên bản Javascript chạy trong Google Cloud Nếu bạn chưa quen với Apps Script, bạn có thể muốn xem Google Apps Script của tôi. Hướng dẫn cho người mới bắt đầu Nếu muốn xem mã này, bạn có thể xem mã bằng cách mở trình chỉnh sửa tập lệnh (Công cụ > Trình chỉnh sửa tập lệnh hoặc Công cụ > Macro > Quản lý macro) Bạn sẽ thấy một tệp Apps Script có mã tương tự như thế này /** @OnlyCurrentDoc */ function FormatText() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getActiveRangeList().setFontWeight('bold') .setFontStyle('italic') .setFontColor('#ff0000') .setFontSize(18) .setFontFamily('Montserrat'); }; Về cơ bản, mã này lấy bảng tính và sau đó lấy phạm vi ô đang hoạt động mà tôi đã chọn Sau đó, macro làm cho lựa chọn này được in đậm (dòng 5), in nghiêng (dòng 6), đỏ (dòng 7, được chỉ định là màu hex), cỡ chữ 18 (dòng 8) và cuối cùng thay đổi họ phông chữ thành Montserrat (dòng 9) Video ở đầu trang này trình bày chi tiết hơn về Apps Script này, ý nghĩa của nó và cách sửa đổi nó Macro trong Google Trang tính là bước đầu tiên tuyệt vời để bước vào thế giới Apps Script, vì vậy tôi khuyến khích bạn mở trình chỉnh sửa cho các macro khác nhau của mình và xem chúng trông như thế nào (Trong trường hợp bạn đang thắc mắc, dòng // convert all formulas to values in the active sheet function formulasToValuesActiveSheet() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getDataRange(); range.copyValuesToRange(sheet, 1, range.getLastColumn(), 1, range.getLastRow()); };1 đảm bảo rằng quy trình ủy quyền chỉ yêu cầu quyền truy cập vào tệp hiện tại nơi macro của bạn tồn tại. ) ^ Quay lại Nội dung 8. Ví dụ về Macro Google Trang tính8. 1 Định dạng bảngGhi lại các bước khi bạn định dạng bảng báo cáo của mình để bạn có thể nhanh chóng áp dụng các bước định dạng tương tự đó cho các bảng khác. Bạn sẽ muốn sử dụng tham chiếu Tương đối để bạn có thể áp dụng định dạng cho dù phạm vi bảng của bạn ở đâu (nếu bạn đã sử dụng tuyệt đối thì nó sẽ luôn áp dụng định dạng cho cùng một phạm vi ô) Hãy xem video ở đầu trang để xem chi tiết ví dụ này, bao gồm cả cách sửa đổi mã Apps Script để điều chỉnh cho các bảng có kích thước khác nhau 8. 2 Tạo biểu đồNếu bạn thấy mình tạo đi tạo lại cùng một biểu đồ, chẳng hạn như cho các tập dữ liệu mới mỗi tuần, thì có lẽ đã đến lúc gói gọn biểu đồ đó trong một macro Ghi lại các bước của bạn khi bạn tạo biểu đồ lần đầu tiên để bạn có nó để sử dụng trong tương lai Video ở đầu trang hiển thị một ví dụ chi tiết Các macro sau đây dự định sẽ được sao chép vào Trình chỉnh sửa tập lệnh của bạn, sau đó được nhập vào menu macro và chạy từ đó 8. 3 Chuyển toàn bộ công thức thành giá trị trên Sheet hiện hànhMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // convert all formulas to values in the active sheet function formulasToValuesActiveSheet() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getDataRange(); range.copyValuesToRange(sheet, 1, range.getLastColumn(), 1, range.getLastRow()); }; Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ chuyển đổi bất kỳ công thức nào trong trang tính hiện tại thành các giá trị 8. 4 Chuyển tất cả công thức thành giá trị trong toàn bộ Google SheetMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // convert all formulas to values in every sheet of the Google Sheet function formulasToValuesGlobal() { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); sheets.forEach(function(sheet) { var range = sheet.getDataRange(); range.copyValuesToRange(sheet, 1, range.getLastColumn(), 1, range.getLastRow()); }); }; Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ chuyển đổi tất cả các công thức trong mỗi trang của Google Trang tính của bạn thành các giá trị 8. 5 Sắp xếp tất cả các trang tính của bạn trong Google Trang tính theo thứ tự bảng chữ cáiMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // sort sheets alphabetically function sortSheets() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheets = spreadsheet.getSheets(); var sheetNames = []; sheets.forEach(function(sheet,i) { sheetNames.push(sheet.getName()); }); sheetNames.sort().forEach(function(sheet,i) { spreadsheet.getSheetByName(sheet).activate(); spreadsheet.moveActiveSheet(i + 1); }); }; Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ sắp xếp tất cả các trang tính của bạn trong Google Trang tính theo thứ tự bảng chữ cái 8. 6 Bỏ ẩn tất cả các hàng và cột trong Sheet hiện tạiMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // unhide all rows and columns in current Sheet data range function unhideRowsColumnsActiveSheet() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getDataRange(); sheet.unhideRow(range); sheet.unhideColumn(range); } Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ bỏ ẩn mọi hàng và cột bị ẩn trong phạm vi dữ liệu. (Nếu bạn ẩn hàng/cột nằm ngoài phạm vi dữ liệu thì sẽ không bị ảnh hưởng. ) 8. 7 Bỏ ẩn tất cả các hàng và cột trong toàn bộ Google SheetMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // unhide all rows and columns in data ranges of entire Google Sheet function unhideRowsColumnsGlobal() { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); sheets.forEach(function(sheet) { var range = sheet.getDataRange(); sheet.unhideRow(range); sheet.unhideColumn(range); }); }; Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ bỏ ẩn mọi hàng và cột bị ẩn trong phạm vi dữ liệu trong mỗi trang tính trong toàn bộ Google Trang tính của bạn 8. 8 Đặt tất cả các Trang tính để có một màu tab cụ thểMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // set all Sheets tabs to red function setTabColor() { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); sheets.forEach(function(sheet) { sheet.setTabColor("ff0000"); }); }; Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ đặt tất cả các màu của tab thành đỏ . Muốn có màu khác? . g. màu xanh hoa ngô sẽ là 6495ed Sử dụng hướng dẫn hữu ích này để tìm các giá trị hex bạn muốn 8. 9 Xóa mọi màu tab khỏi tất cả các Trang tínhMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới ________số 8Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ xóa tất cả các màu tab khỏi Trang tính của bạn (nó đặt chúng trở lại null, tôi. e. không có giá trị) Đây là một GIF hiển thị các màu tab được thêm và xóa thông qua Macro (kiểm tra phần dưới cùng của hình ảnh) 8. 10 Ẩn tất cả các trang tính ngoài trang đang hoạt độngSao chép và dán mã này vào trình chỉnh sửa tập lệnh của bạn và nhập chức năng vào menu Macro của bạn function hideAllSheetsExceptActive() { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); sheets.forEach(function(sheet) { if (sheet.getName() != SpreadsheetApp.getActiveSheet().getName()) sheet.hideSheet(); }); }; Chạy macro này sẽ ẩn tất cả các Trang tính trong Google Trang tính của bạn, ngoại trừ trang tính bạn đã chọn (trang tính đang hoạt động) 8. 11 Bỏ ẩn tất cả các Trang tính trong Trang tính của bạn trong một lầnMở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // convert all formulas to values in the active sheet function formulasToValuesActiveSheet() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getDataRange(); range.copyValuesToRange(sheet, 1, range.getLastColumn(), 1, range.getLastRow()); };0 Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ hiển thị bất kỳ Trang tính ẩn nào trong Trang tính của bạn, để tiết kiệm việc bạn phải thực hiện từng bước một Đây là một GIF cho thấy cách thức hoạt động của các macro ẩn và bỏ ẩn Bạn có thể thấy Sheet6, Sheet đang hoạt động, là Sheet duy nhất không bị ẩn khi chạy macro đầu tiên 8. 12 Đặt lại bộ lọcOk, tiết kiệm tốt nhất để kéo dài, đây là một trong những macro yêu thích của tôi. 🙂 Tôi luôn sử dụng các bộ lọc trên bảng dữ liệu của mình và hơi khó chịu khi không có cách nào để xóa tất cả các bộ lọc của bạn trong một lần. Bạn phải đặt lại lần lượt từng bộ lọc theo cách thủ công (tốn thời gian và đôi khi khó xem cột nào có bộ lọc khi bạn có bộ dữ liệu thực sự lớn) HOẶC bạn có thể xóa hoàn toàn bộ lọc và thêm lại từ menu Hãy tạo một macro trong Google Sheets để làm điều đó. Sau đó, chúng tôi có thể cực kỳ hiệu quả bằng cách chạy nó chỉ bằng một lần nhấp vào menu hoặc thậm chí tốt hơn, từ một phím tắt Mở trình chỉnh sửa tập lệnh của bạn (Công cụ > Trình chỉnh sửa tập lệnh). Sao chép và dán đoạn mã sau vào một dòng mới // convert all formulas to values in the active sheet function formulasToValuesActiveSheet() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getDataRange(); range.copyValuesToRange(sheet, 1, range.getLastColumn(), 1, range.getLastRow()); };0 Quay lại Google Trang tính của bạn, sử dụng tùy chọn Nhập Macro để nhập chức năng này dưới dạng macro Khi bạn chạy nó, nó sẽ xóa và sau đó thêm lại các bộ lọc vào phạm vi dữ liệu của bạn trong một lần Đây là một GIF hiển thị vấn đề và giải pháp vĩ mô ^ Quay lại Nội dung 9. Tài nguyênNếu bạn quan tâm đến việc tiến xa hơn, hãy xem các tài nguyên sau để bắt đầu với Apps Script 💡 Tìm hiểu thêmTìm hiểu thêm về Google Apps Script trong khóa học Giới thiệu về Apps Script dành cho người mới bắt đầu miễn phí này Hướng dẫn tham khảo macro trong Google Tài liệu trợ giúp Hướng dẫn tham khảo vĩ mô trong tài liệu Google Developer Và nếu bạn muốn thực sự bắt đầu tìm hiểu mã Apps Script, bạn sẽ muốn đánh dấu trang tài liệu Google về Dịch vụ bảng tính Macro có thể ghi sao chép và dán không?Có, bạn có thể . Chỉ cần sử dụng nó như một hành động trong quá trình ghi macro. Ví dụ: mã macro này được tạo khi tôi sao chép một ô từ cột A vào cột D (đây là mã mà trình ghi macro đã tạo).
Lối tắt để dán các giá trị trong Google Trang tính là gì?Để xem danh sách phím tắt trong Google Trang tính, hãy nhấn Ctrl + / (Windows, Chrome OS) hoặc ⌘ + / (Mac). Để tìm kiếm trong menu, nhấn Alt + / (Windows, Chrome OS) hoặc Option + / (Mac).
. phím tắt máy tính |