-I have a spreadsheet named "Locations".
-Column A of that sheet has list data validation that are found on "Projects" spreadsheet of the same file.
-I have IFERROR/VLOOKUP function on various columns on "Locations" to automatically fill those cells
-The data on "Projects" is linked to another Google Sheet file using IMPORTRANGE. That google sheet file is a master list that is constantly changed and multiple sheets are linked to.
**What I am trying to achieve is once a value on column A of "Locations" is selected and VLOOKUP takes place on various columns, I want those cells to copy paste special values only. I was able to have the code to work (listed below). But if I have 5000 rows, then that will be a pain to manually change the variables. Any simpler script to achieve this?
I am not really a programmer so any help from the expert will be appreciated.
I've tried onEdit Range but doesn't seem to recognize the VLOOKUP as an edit event.
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var r3 = sheet.getRange("C3").getValue();
if (r3 != 0){
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('C3:E3').activate();
spreadsheet.getRange('C3:E3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('J3:M3').activate();
spreadsheet.getRange('J3:M3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('Q3').activate();
spreadsheet.getRange('Q3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('S3').activate();
spreadsheet.getRange('S3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);}
var r4 = sheet.getRange("C4").getValue();
if (r4 != 0){
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('C4:E4').activate();
spreadsheet.getRange('C4:E4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('J4:M4').activate();
spreadsheet.getRange('J4:M4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('Q4').activate();
spreadsheet.getRange('Q4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('S4').activate();
spreadsheet.getRange('S4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);}
var r5 = sheet.getRange("C5").getValue();
if (r5 != 0){
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('C5:E5').activate();
spreadsheet.getRange('C5:E5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('J5:M5').activate();
spreadsheet.getRange('J5:M5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('Q5').activate();
spreadsheet.getRange('Q5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('S5').activate();
spreadsheet.getRange('S5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);}
}