Я работал над сценарием (любезно поддерживаемым @Tanaike), который позволяет мне отображать заметку, когда я выбираю определенную информацию из выпадающего списка в Google Sheets. Сценарий, который я использовал, подробно описан ниже:
function onEdit(e) {
const range = e.range;
const sheetNames = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "14", "15", "17", "20", "23", "24", "25", "26", "27", "28", "31", "33", "35", "37", "40", "41", "42", "43", "44", "45", "46", "47", "50", "52", "55", "56", "57", "58", "59", "60", "66/0", "66/1", "66/2", "66/3", "66/4", "66/5", "66/6", "66/7", "66/8", "66/9", "67", "68", "69", "70", "71", "73", "76", "77", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92",,,];
if (sheetNames.some(s => range.getSheet().getSheetName() == s) && range.columnStart == 5) {
const object = {
AVD: "AV Dawson Middlesbrough",
BA: "Basford Hall, Crewe (FLR)",
BH: "Barrow Hill Roundhouse",
BKR: "Bo'ness & Kinneil Railway",
BN: "Bounds Green (LNER)",
CD: "Crewe Diesel (Locomotive Storage Ltd)",
CE: "Crewe Electric TMD",
CF: "Cardiff Canton",
CFT: "Cardiff Tidal",
ChaR: "Chasewater Railway",
CPRR: "Chinoor & Princes Risborough Railway",
CZ: "Central Rivers (Bombardier)",
DRM: "Doncaster Royal Mail Terminal",
EH: "Eastleigh (Arriva Traincare)",
EHY: "Eastleigh East Yard",
ELY: "Ely Papworth Sidings",
EML: "EMD Longport",
FX: "Felixstowe Docks",
HT: "Heaton, Newcastle",
IL: "Ilford (Greater Anglia)",
LA: "Laira (Great Western)",
LB: "Loughborough Brush Traction",
LD: "Leeds Midland Road (FLR)",
LE: "Landore (Great Western)",
LM: "Long Marston",
LR: "Leicester L.I.P (UKRL)",
NA: "Newton Aycliffe (Hitachi)",
NC: "Norwich Crown Point",
NM: "Nottingham Eastcroft",
PG: "Peterborough (GBRf)",
PM: "Bristol St Phillips Marsh",
RR: "Roberts Road, Doncaster",
SZ: "Southampton Maritime (FLR)",
TO: "Toton (DBC)",
TW: "Tonbridge West Yard",
TY: "Tyne Yard",
WB: "Wembley (Alstom)",
WEN: "Wensleydale Railway",
WI: "Wishaw",
ZB: "Doncaster Wabtec",
};
const v = range.getValue();
range.setNote(v in object ? object[v] : "");
}
}
В основном этот сценарий работает на всех листах, которые я назвал, и когда я выбираю одну из аббревиатур в раскрывающемся списке (в column E
), Затем автоматически появляется заметка с полной детализацией ie. Если я выберу «AVD» из выпадающего меню, появится заметка с надписью «AV Dawson Middlesbrough».
Это замечательно и работает именно так, как я хочу. Тем не менее, я теперь wi sh, чтобы расширить это на другие столбцы, где я использую сокращенные сокращения в раскрывающемся списке, и поэтому я также настроил следующий сценарий:
function onEdit(e) {
const range = e.range;
const sheetNames = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "14", "15", "17", "20", "23", "24", "25", "26", "27", "28", "31", "33", "35", "37", "40", "41", "42", "43", "44", "45", "46", "47", "50", "52", "55", "56", "57", "58", "59", "60", "66/0", "66/1", "66/2", "66/3", "66/4", "66/5", "66/6", "66/7", "66/8", "66/9", "67", "68", "69", "70", "71", "73", "76", "77", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92",,,];
if (sheetNames.some(s => range.getSheet().getSheetName() == s) && range.columnStart == 2) {
const object = {
ELR: "East Lancashire Railway",
HST: "Heritage Shunters Trust",
};
const v = range.getValue();
range.setNote(v in object ? object[v] : "");
}
}
Этот сценарий должен работать во всех те же листы, что и в первом скрипте, но я требую, чтобы это работало в column B
электронной таблицы, которая состоит из разных данных, как видно из приведенного выше скрипта. Опять же, в качестве примера, я требую, чтобы это работало так, чтобы, когда я выбираю «HST» из выпадающего меню, в этой ячейке появлялась автоматическая заметка c с надписью «Heritage Shunters Trust». Опять же, я смог заставить этот сценарий работать так, как мне нужно.
Однако проблема, с которой я столкнулся сейчас, заключается в том, что я не могу заставить оба сценария работать одновременно. Таким образом, с новым сценарием для column B
(2-й в моем вопросе) сценарий для column E
больше не работает.
Я подозревал, что это как-то связано с range.columnStart
часть сценария, и поэтому я попытался добавить range.columnEnd
к сценарию, но мне не повезло с этим, и, исчерпав любые другие возможные варианты, я обратился к вам, ребята за помощью, и был бы признателен любой получил.