Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Lựa chọn
Truy cập vào vùng chọn đang hoạt động trong trang tính đang hoạt động. Tập hợp ô là tập hợp các ô mà người dùng đã đánh dấu trong trang tính. Tập hợp ô có thể là các dải ô không liền kề. Một ô trong vùng chọn là ô hiện tại, nơi người dùng hiện đang tập trung. Ô hiện tại được làm nổi bật bằng đường viền đậm hơn trong giao diện người dùng của Google Trang tính.
constactiveSheet=SpreadsheetApp.getActiveSheet();constrangeList=activeSheet.getRangeList(['A1:B4','D1:E4']);rangeList.activate();constselection=activeSheet.getSelection();// Current Cell: D1console.log(`Current Cell: ${selection.getCurrentCell().getA1Notation()}`);// Active Range: D1:E4console.log(`Active Range: ${selection.getActiveRange().getA1Notation()}`);// Active Ranges: A1:B4, D1:E4constranges=selection.getActiveRangeList().getRanges();for(leti=0;i < ranges.length;i++){console.log(`Active Ranges: ${ranges[i].getA1Notation()}`);}console.log(`Active Sheet: ${selection.getActiveSheet().getName()}`);
Bắt đầu từ current cell và active range rồi di chuyển theo hướng đã cho, trả về một dải ô đã điều chỉnh, trong đó cạnh thích hợp của dải ô đã được dịch chuyển để bao phủ next data cell trong khi vẫn bao phủ ô hiện tại.
Tài liệu chi tiết
getActiveRange()
Trả về dải ô đã chọn trong trang tính đang hoạt động hoặc null nếu không có dải ô nào đang hoạt động. Nếu bạn chọn nhiều dải ô, phương thức này sẽ chỉ trả về dải ô được chọn gần đây nhất.
Trả về ô hiện tại (được làm nổi bật) được chọn trong một trong các dải ô đang hoạt động hoặc null nếu không có ô hiện tại.
constselection=SpreadsheetApp.getActiveSpreadsheet().getSelection();// Returns the current highlighted cell in the one of the active ranges.constcurrentCell=selection.getCurrentCell();
Bắt đầu từ current cell và active range rồi di chuyển theo hướng đã cho, trả về một dải ô đã điều chỉnh, trong đó cạnh thích hợp của dải ô đã được dịch chuyển để bao phủ next data cell trong khi vẫn bao phủ ô hiện tại. Nếu phạm vi đang hoạt động không có giới hạn dọc theo dimension của hướng, thì phạm vi đang hoạt động ban đầu sẽ được trả về. Nếu không có ô hiện tại hoặc dải ô đang hoạt động, null sẽ được trả về. Điều này tương đương với việc chọn một dải ô trong trình chỉnh sửa rồi nhấn phím Ctrl+Shift+[arrow key].
// Assume the active spreadsheet is blank.constss=SpreadsheetApp.getActiveSpreadsheet();constsheet=ss.getSheets()[0];// Makes C3 the current cell and C3:E5 the active range.sheet.getRange('C3:E5').activate();// Logs 'C1:E3'console.log(SpreadsheetApp.getSelection().getNextDataRange(SpreadsheetApp.Direction.UP).getA1Notation(),);
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003eAccess and manipulate the active selection, which includes the highlighted cells and the current cell within a Google Sheet.\u003c/p\u003e\n"],["\u003cp\u003eUtilize methods like \u003ccode\u003egetActiveRange()\u003c/code\u003e, \u003ccode\u003egetCurrentCell()\u003c/code\u003e, and \u003ccode\u003egetActiveRangeList()\u003c/code\u003e to retrieve specific parts of the selection.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetNextDataRange()\u003c/code\u003e method allows for expanding the selection to encompass adjacent data cells.\u003c/p\u003e\n"],["\u003cp\u003eEach of these methods requires specific authorization scopes for access to spreadsheet data.\u003c/p\u003e\n"],["\u003cp\u003eA selection can include non-adjacent ranges and provides programmatic control over user interactions with the sheet's data.\u003c/p\u003e\n"]]],["The content describes how to interact with cell selections in Google Sheets using Apps Script. Key actions include retrieving the `active range` (last selected range), `active range list` (all selected ranges), `current cell` (user's focus), and `active sheet`. The `getNextDataRange` method adjusts the active range to include the next data cell in a specified direction. These operations require authorization scopes related to spreadsheets. The script provided an example to retrieve all of those key elements from the selection.\n"],null,["Selection\n\nAccess the current active selection in the active sheet. A selection is the set of cells the user\nhas highlighted in the sheet, which can be non-adjacent ranges. One cell in the selection is the\n*current cell*, where the user's current focus is. The current cell is highlighted with a\ndarker border in the Google Sheets UI.\n\n```javascript\nconst activeSheet = SpreadsheetApp.getActiveSheet();\nconst rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']);\nrangeList.activate();\n\nconst selection = activeSheet.getSelection();\n// Current Cell: D1\nconsole.log(`Current Cell: ${selection.getCurrentCell().getA1Notation()}`);\n// Active Range: D1:E4\nconsole.log(`Active Range: ${selection.getActiveRange().getA1Notation()}`);\n// Active Ranges: A1:B4, D1:E4\nconst ranges = selection.getActiveRangeList().getRanges();\nfor (let i = 0; i \u003c ranges.length; i++) {\n console.log(`Active Ranges: ${ranges[i].getA1Notation()}`);\n}\nconsole.log(`Active Sheet: ${selection.getActiveSheet().getName()}`);\n``` \n\nMethods\n\n| Method | Return type | Brief description |\n|-------------------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [getActiveRange()](#getActiveRange()) | [Range](/apps-script/reference/spreadsheet/range) | Returns the selected range in the active sheet, or `null` if there is no active range. |\n| [getActiveRangeList()](#getActiveRangeList()) | [RangeList](/apps-script/reference/spreadsheet/range-list) | Returns the list of active ranges in the active sheet or `null` if there are no active ranges. |\n| [getActiveSheet()](#getActiveSheet()) | [Sheet](/apps-script/reference/spreadsheet/sheet) | Returns the active sheet in the spreadsheet. |\n| [getCurrentCell()](#getCurrentCell()) | [Range](/apps-script/reference/spreadsheet/range) | Returns the current (highlighted) cell that is selected in one of the active ranges or `null` if there is no current cell. |\n| [getNextDataRange(direction)](#getNextDataRange(Direction)) | [Range](/apps-script/reference/spreadsheet/range) | Starting from the [current cell](#getCurrentCell()) and [active range](#getActiveRange()) and moving in the given direction, returns an adjusted range where the appropriate edge of the range has been shifted to cover the [next data cell](/apps-script/reference/spreadsheet/range#getNextDataCell(Direction)) while still covering the current cell. |\n\nDetailed documentation \n\n`get``Active``Range()` \nReturns the selected range in the active sheet, or `null` if there is no active range. If\nmultiple ranges are selected this method returns only the last selected range.\n\n```javascript\nconst selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();\nconst activeRange = selection.getActiveRange();\n```\n\nReturn\n\n\n[Range](/apps-script/reference/spreadsheet/range) --- The active range.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`get``Active``Range``List()` \nReturns the list of active ranges in the active sheet or `null` if there are no active\nranges.\n\nIf there is a single range selected, this behaves as a [getActiveRange()](#getActiveRange()) call.\n\n```javascript\nconst sheet = SpreadsheetApp.getActiveSheet();\n// Returns the list of active ranges.\nconst activeRangeList = sheet.getActiveRangeList();\n```\n\nReturn\n\n\n[RangeList](/apps-script/reference/spreadsheet/range-list) --- The list of active ranges.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`get``Active``Sheet()` \nReturns the active sheet in the spreadsheet.\n\n```javascript\nconst selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();\nconst activeSheet = selection.getActiveSheet();\n```\n\nReturn\n\n\n[Sheet](/apps-script/reference/spreadsheet/sheet) --- The active sheet in the spreadsheet.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`get``Current``Cell()` \nReturns the current (highlighted) cell that is selected in one of the active ranges or `null` if there is no current cell.\n\n```javascript\nconst selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();\n// Returns the current highlighted cell in the one of the active ranges.\nconst currentCell = selection.getCurrentCell();\n```\n\nReturn\n\n\n[Range](/apps-script/reference/spreadsheet/range) --- The current cell.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`get``Next``Data``Range(direction)` \nStarting from the [current cell](#getCurrentCell()) and [active range](#getActiveRange())\nand moving in the given direction, returns an adjusted range where the appropriate edge of the\nrange has been shifted to cover the [next data cell](/apps-script/reference/spreadsheet/range#getNextDataCell(Direction)) while still\ncovering the current cell. If the active range is unbounded along the [dimension](/apps-script/reference/spreadsheet/dimension) of the direction, the original active range is returned. If there is no current cell\nor active range, `null` is returned. This is equivalent to selecting a range in the\neditor and hitting `Ctrl+Shift+[arrow key]`.\n\n```javascript\n// Assume the active spreadsheet is blank.\nconst ss = SpreadsheetApp.getActiveSpreadsheet();\nconst sheet = ss.getSheets()[0];\n\n// Makes C3 the current cell and C3:E5 the active range.\nsheet.getRange('C3:E5').activate();\n// Logs 'C1:E3'\nconsole.log(\n SpreadsheetApp.getSelection()\n .getNextDataRange(SpreadsheetApp.Direction.UP)\n .getA1Notation(),\n);\n```\n\nParameters\n\n| Name | Type | Description |\n|-------------|-----------------------------------------------------------|----------------------------------------------------------------|\n| `direction` | [Direction](/apps-script/reference/spreadsheet/direction) | The direction in which to find the next data region edge cell. |\n\nReturn\n\n\n[Range](/apps-script/reference/spreadsheet/range) --- The adjusted range that includes the data cell, or `null` if there is no\nselection.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`"]]