ฉันมี Google Spreadsheet ที่มี 100 บรรทัด
ทุกครั้งที่ฉันเปิดไฟล์นั้นฉันต้องการแทรกแถวที่ท้ายตารางของฉัน
ฉันจะข้ามไปยังบรรทัดสุดท้ายของตารางเมื่อฉันเปิดเอกสารได้อย่างไร
เพราะตอนนี้ฉันต้องเลื่อนลงเพื่อให้สามารถแทรกบรรทัดใหม่ได้
Home
คีย์
ฉันมี Google Spreadsheet ที่มี 100 บรรทัด
ทุกครั้งที่ฉันเปิดไฟล์นั้นฉันต้องการแทรกแถวที่ท้ายตารางของฉัน
ฉันจะข้ามไปยังบรรทัดสุดท้ายของตารางเมื่อฉันเปิดเอกสารได้อย่างไร
เพราะตอนนี้ฉันต้องเลื่อนลงเพื่อให้สามารถแทรกบรรทัดใหม่ได้
Home
คีย์
คำตอบ:
คุณสามารถสร้างทริกเกอร์ที่ทำงานทุกครั้งที่เปิดสเปรดชีตของคุณ
ไปที่เครื่องมือ→ตัวแก้ไขสคริปต์และวางต่อไปนี้:
function onOpen(e) {
var spreadsheet = e.source;
var sheet = spreadsheet.getActiveSheet();
var lastRow = spreadsheet.getLastRow();
if (sheet.getMaxRows() == lastRow) {
sheet.appendRow([""]);
}
lastRow = lastRow + 1;
var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
sheet.setActiveRange(range);
}
คลิกปุ่มบันทึกจากนั้นปิดตัวแก้ไขสคริปต์และสเปรดชีต
ตอนนี้เปิดสเปรดชีตของคุณอีกครั้ง ให้เวลาสองสามวินาทีและคุณจะเห็นว่ามีการแทรกแถวใหม่ที่ท้ายแผ่นของคุณและเลือกแถวนั้น
ฉันได้สร้างสเปรดชีตนี้เพื่อสาธิต - อย่าลังเลที่จะคัดลอก (คลิกไฟล์→คัดลอก ) คุณจะต้องเรียกใช้สำเนาของคุณเองเพื่อให้สามารถเรียกใช้สคริปต์ได้สำเร็จ
onOpen
ชื่อฟังก์ชั่นมีความหมายพิเศษ โปรดดูเอกสาร มันต้องใช้เวลาอาร์กิวเมนต์เดียวเป็นวัตถุEvent
source
คุณสมบัติมันคือการอ้างอิงถึงสเปรดชีตที่ถูกเปิด ด้วยสเปรดชีทที่เราสามารถทำได้getLastRow()
เพื่อหาดัชนีของแถวที่ผ่านมาที่มีเนื้อหา getMaxRows()
ให้จำนวนแถวสูงสุดในแผ่นงานแม้แต่แถวที่ว่างเปล่า ด้วยความรู้นั้นเราสามารถดูว่าแถวสุดท้ายมีเนื้อหาหรือไม่ถ้าใช่เราผนวกแถวใหม่ที่ว่างเปล่า ในที่สุดเราสามารถสร้างช่วงและเรียกsetActiveRange
มันเพื่อย้ายไปยังแถวสุดท้าย
หากคุณต้องการย้ายไปยังบรรทัดสุดท้ายโดยไม่ต้องแทรกอะไรสคริปต์สามารถทำให้ง่ายขึ้นเช่นนี้:
function onOpen(e) {
var spreadsheet = e.source;
var sheet = spreadsheet.getActiveSheet();
var lastRow = spreadsheet.getLastRow();
var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
sheet.setActiveRange(range);
}
หากคุณมีปัญหาเพิ่มเติมที่คอลัมน์บางคอลัมน์มีสูตรอยู่เรื่อย ๆ และคุณต้องการเลื่อนไปที่แถวแรกที่มีข้อมูลที่ไม่ใช่สูตรนี่เป็นวิธีการ ในคอลัมน์กรณีนี้ A มีสูตรจนสุดดังนั้นฉันเลื่อนไปที่เซลล์ว่างแรกในคอลัมน์ B ในแถว 5 หรือต่ำกว่า
function onOpen(e) {
var spreadsheet = e.source;
var sheet = spreadsheet.getActiveSheet();
var row = 5;
while (true) {
var range = sheet.getRange("B" + row);
if (!range.getValue()) {
sheet.setActiveRange(range);
return;
}
row++;
}
}
ดังที่คำตอบอื่น ๆ ระบุไว้คุณควรเปิดเครื่องมือ→ตัวแก้ไขสคริปต์วางในฟังก์ชันนั้นตั้งชื่อ "โครงการ" ของคุณบันทึกและโหลดสเปรดชีตซ้ำ