Class Selection
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pemilihan
Mengakses pilihan aktif saat ini di sheet aktif. Pilihan adalah kumpulan sel yang telah ditandai pengguna di sheet, yang dapat berupa rentang yang tidak berdekatan. Satu sel dalam pilihan adalah
sel saat ini, tempat fokus pengguna saat ini berada. Sel saat ini ditandai dengan
batas yang lebih gelap di UI Google Spreadsheet.
const activeSheet = SpreadsheetApp.getActiveSheet();
const rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']);
rangeList.activate();
const selection = activeSheet.getSelection();
// Current Cell: D1
console.log(`Current Cell: ${selection.getCurrentCell().getA1Notation()}`);
// Active Range: D1:E4
console.log(`Active Range: ${selection.getActiveRange().getA1Notation()}`);
// Active Ranges: A1:B4, D1:E4
const ranges = selection.getActiveRangeList().getRanges();
for (let i = 0; i < ranges.length; i++) {
console.log(`Active Ranges: ${ranges[i].getA1Notation()}`);
}
console.log(`Active Sheet: ${selection.getActiveSheet().getName()}`);
Dokumentasi mendetail
getActiveRange()
Menampilkan rentang yang dipilih di sheet aktif, atau null
jika tidak ada rentang aktif. Jika
beberapa rentang dipilih, metode ini hanya menampilkan rentang terakhir yang dipilih.
const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
const activeRange = selection.getActiveRange();
Pulang pergi
Range
— Rentang aktif.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveRangeList()
Menampilkan daftar rentang aktif di sheet aktif atau null
jika tidak ada rentang
aktif.
Jika ada satu rentang yang dipilih, perilakunya akan sama seperti panggilan getActiveRange()
.
const sheet = SpreadsheetApp.getActiveSheet();
// Returns the list of active ranges.
const activeRangeList = sheet.getActiveRangeList();
Pulang pergi
RangeList
— Daftar rentang aktif.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveSheet()
Menampilkan sheet yang aktif di spreadsheet.
const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
const activeSheet = selection.getActiveSheet();
Pulang pergi
Sheet
— Sheet yang aktif di spreadsheet.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getCurrentCell()
Menampilkan sel saat ini (ditandai) yang dipilih di salah satu rentang aktif atau null
jika tidak ada sel saat ini.
const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
// Returns the current highlighted cell in the one of the active ranges.
const currentCell = selection.getCurrentCell();
Pulang pergi
Range
— Sel saat ini.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getNextDataRange(direction)
Mulai dari current cell
dan active range
dan bergerak ke arah yang ditentukan, menampilkan rentang yang disesuaikan dengan tepi yang sesuai
dari rentang telah digeser untuk mencakup next data cell
sekaligus
mencakup sel saat ini. Jika rentang aktif tidak dibatasi di sepanjang dimension
arah, rentang aktif asli akan ditampilkan. Jika tidak ada sel saat ini
atau rentang aktif, null
akan ditampilkan. Tindakan ini sama dengan memilih rentang di editor dan menekan Ctrl+Shift+[arrow key]
.
// Assume the active spreadsheet is blank.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = 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(),
);
Parameter
Nama | Jenis | Deskripsi |
direction | Direction | Arah untuk menemukan sel tepi region data berikutnya. |
Pulang pergi
Range
— Rentang yang disesuaikan yang menyertakan sel data, atau null
jika tidak ada
pilihan.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 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,["# Class Selection\n\nSelection\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\n### Methods\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\n### `get``Active``Range()`\n\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\n#### Return\n\n\n[Range](/apps-script/reference/spreadsheet/range) --- The active range.\n\n#### Authorization\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()`\n\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\n#### Return\n\n\n[RangeList](/apps-script/reference/spreadsheet/range-list) --- The list of active ranges.\n\n#### Authorization\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()`\n\nReturns the active sheet in the spreadsheet.\n\n```javascript\nconst selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();\nconst activeSheet = selection.getActiveSheet();\n```\n\n#### Return\n\n\n[Sheet](/apps-script/reference/spreadsheet/sheet) --- The active sheet in the spreadsheet.\n\n#### Authorization\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()`\n\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\n#### Return\n\n\n[Range](/apps-script/reference/spreadsheet/range) --- The current cell.\n\n#### Authorization\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)`\n\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\n#### Parameters\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\n#### Return\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\n#### Authorization\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`"]]