डेटा स्क्रिप्ट कॉपी करना अब काम नहीं कर रहा है
मैं अपनी Google शीट में एक स्क्रिप्ट का उपयोग कर रहा हूं जो मुझे यहां मिली:
Google ऐप स्क्रिप्ट में एक शीट से दूसरी शीट पर डेटा कॉपी करें और एक पंक्ति, एक छोटी सी समस्या को जोड़ दें
var ss = SpreadsheetApp.getActiveSpreadsheet();
var copySheet = ss.getSheetByName("Copy");
var pasteSheet = ss.getSheetByName("Paste");
// get source range
var source = copySheet.getRange(2,2,12,2);
// get destination range
var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,2,12,2);
// copy values to destination range
source.copyTo(destination);
// clear source values
source.clearContent();
}
जब मैं इसे चला रहा हूं तो यह मुझे एक त्रुटि देता है:
लक्ष्य श्रेणी के निर्देशांक शीट के आयामों के बाहर हैं।
जो पहले नहीं आ रहा था। क्या किसी को अंदाजा है कि वह ऐसा क्यों कर रहा है?
जवाब
मुद्दा:
इस पंक्ति में त्रुटि है:
var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,2,12,2);
pasteSheet.getLastRow()
एक पंक्ति संख्या देता है जो आपकी शीट के बहुत नीचे है। फिर आप 12
पंक्तियों की सीमा पर विचार करते हैं लेकिन सामग्री के साथ अंतिम पंक्ति के बाद पंक्तियाँ pasteSheet
नहीं होती हैं ।12
समाधान:
इसमें और पंक्तियाँ जोड़ें pasteSheet
:

या आप आवेषण का उपयोग कर सकते हैं। बाद में :
pasteSheet.insertRowsAfter(pasteSheet.getLastRow(), 12)
सांकेतिक टुकड़ा:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var copySheet = ss.getSheetByName("Copy");
var pasteSheet = ss.getSheetByName("Paste");
// get source range
var source = copySheet.getRange(2,2,12,2);
// insert rows to make sure you have enough space
pasteSheet.insertRowsAfter(pasteSheet.getLastRow(), 12)
// get destination range
var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,2,12,2);
// copy values to destination range
source.copyTo(destination);
// clear source values
source.clearContent();
}