วิธีเปิดไฟล์ Google ชีตและไปที่ท้ายไฟล์ทันที


14

ฉันมี Google Spreadsheet ที่มี 100 บรรทัด

ทุกครั้งที่ฉันเปิดไฟล์นั้นฉันต้องการแทรกแถวที่ท้ายตารางของฉัน

ฉันจะข้ามไปยังบรรทัดสุดท้ายของตารางเมื่อฉันเปิดเอกสารได้อย่างไร

เพราะตอนนี้ฉันต้องเลื่อนลงเพื่อให้สามารถแทรกบรรทัดใหม่ได้


1
ชุดค่าผสมที่สำคัญจะเพียงพอหรือไม่ Ctrl + End ควรข้ามคุณไปยังจุดสิ้นสุดของไฟล์
เบียร์

1
@AlE: Ctrl + End ย้ายไปยังคอลัมน์สุดท้ายด้วยหรือไม่ ฉันไม่มีกล่อง Windows เพื่อทดสอบด้วย แต่สำหรับ Mac ทางลัดที่สอดคล้องกัน (⌘ + Fn + ➔) จะย้ายไปยังแถวสุดท้ายคอลัมน์สุดท้าย
Vidar S. Ramdal

@Vidar: ใช่อาจ (ผมไม่ได้มีความสามารถในการทดสอบได้ในขณะนี้.) อย่างเป็นธรรมได้อย่างง่ายดายโดยการแก้ไขแล้วกดปุ่มHomeคีย์
เบียร์

คำตอบ:


11

คุณสามารถสร้างทริกเกอร์ที่ทำงานทุกครั้งที่เปิดสเปรดชีตของคุณ

ไปที่เครื่องมือ→ตัวแก้ไขสคริปต์และวางต่อไปนี้:

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);
}

ขอบคุณมาก ๆ สำหรับความช่วยเหลือของคุณ! ฉันจะลองในภายหลัง ขอบคุณสำหรับเวลาและความช่วยเหลือของคุณ
UcanDoIt

1
อย่าไปหาบรรทัดสุดท้ายพร้อมข้อความตามที่ฉันต้องการ :( มันจะเป็นบรรทัดสุดท้ายที่มีสูตร
UcanDoIt

1
คุณช่วยฉันได้ไหมเพื่อให้บรรทัดสุดท้ายมีข้อความ?
UcanDoIt

1
ตกลงฉันอยู่ในที่ทำงานและไม่สามารถเข้าถึง Google ที่นี่ แต่จะทำในภายหลัง .. จะลองด้วยคำพูด ... ในสเปรดชีตของฉันฉันมีสูตรในคอลัมน์จนถึงบรรทัดที่ 1,000 และฉันได้แทรก ข้อมูลจนถึงบรรทัดที่ 200 (เท่านั้น) ด้วยโซลูชันของคุณเมื่อฉันเปิดเอกสารมันจะไปที่บรรทัดที่ 1,000 และฉันต้องการให้ไปที่บรรทัดที่ 200 ดังนั้นฉันจึงสามารถแทรกข้อมูลใหม่ในบรรทัดถัดไปที่มีอยู่ได้
UcanDoIt

1
@Hamideh ไม่มีเหตุการณ์ที่เรียกเมื่อสลับระหว่างแผ่นงานในเอกสารเดียวกันตามที่ฉันรู้ ดังนั้นวิธีนี้จะไม่ทำงานในกรณีนั้น
Vidar S. Ramdal

3

หากคุณมีปัญหาเพิ่มเติมที่คอลัมน์บางคอลัมน์มีสูตรอยู่เรื่อย ๆ และคุณต้องการเลื่อนไปที่แถวแรกที่มีข้อมูลที่ไม่ใช่สูตรนี่เป็นวิธีการ ในคอลัมน์กรณีนี้ 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++;
    }
}

ดังที่คำตอบอื่น ๆ ระบุไว้คุณควรเปิดเครื่องมือ→ตัวแก้ไขสคริปต์วางในฟังก์ชันนั้นตั้งชื่อ "โครงการ" ของคุณบันทึกและโหลดสเปรดชีตซ้ำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.