Google Sheet: сдвиг данных на одну строку или добавление одной строки над данными, когда ячейка B2 не пуста
В Google Sheets я хочу автоматически сдвинуть все строки на 1 строку после вставки данных в B2.
Я стараюсь поддерживать чистую строку 2, независимо от того, сколько данных вставлено, например, приведенный ниже пример:
Row 1 Data1 Data2 Data3 Data4 Data5 Data6
Row 2
Row 3 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Row 4 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Row 5 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Row 6 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Row 7 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Row 8 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Row 9 asdasd zxczxc qweqwe asdasd zxczxc qweqwe
Я понимаю, что могу вставлять строки вручную, но я ищу способ ускорить ввод данных на работе. Любой вклад приветствуется. Я не возражал бы, если бы я мог связать функцию в кнопку в верхней части листа, если это возможно.
2 ответа
Лучшее и наиболее эффективное решение - создать макрос для вставки новой строки над строкой 2.
Чтобы создать макрос:
1 - В главном меню выберите "Инструменты", "Макросы", "Запись макроса". Состояние макроса отображается внизу экрана; Вы можете игнорировать это в настоящее время.
2 - выделите строку 2 в "столбце строки" в крайнем левом углу экрана; щелкните правой кнопкой мыши на Row2, затем выберите "Вставить 1 выше".
3 - Теперь перейдите к статусу макроса внизу экрана и нажмите "Сохранить", дайте вашему макросу разумное имя и сочетание клавиш.
4 - Теперь запустите свой макрос с помощью сочетания клавиш или вернитесь в главное меню "Инструменты", "Макросы". Ваш макрос появится внизу панели; щелкните по имени макроса.
5 - Система сообщит, что требуется авторизация. Нажмите "Продолжить" и следуйте инструкциям для авторизации.
Вот и все.
Вы можете создать кнопку для ссылки на макрос. Я оставлю это вам для исследования. Один совет: поместите кнопку в /on/ выше / Row 1, иначе при вставке строк ваша кнопка будет постепенно перемещаться вниз по экрану.
FWIW, у Infoinspired есть хорошее руководство о том, как записывать и запускать макросы в Google Sheets.
Я хотел сделать что-то подобное: Сохранить замороженную строку 1 с заголовками Добавить строку 2, когда я набираю ячейку A2, чтобы я мог добавлять данные в верхнюю часть листа, а не прокручивать вниз.
Благодаря коллеге Доманику, который работал со мной и другими полезными людьми в stackoverflow, мы создали этот скрипт:
function onEdit(e) {
var myRange = SpreadsheetApp.getActiveSheet().getRange('A2:A2000'); //<<< Change Your Named Ranged Name Here
//Let's get the row & column indexes of the active cell
var row = e.range.getRow();
var col = e.range.getColumn();
//Check that your active cell is within your named range
if (col >= myRange.getColumn() && col <= myRange.getLastColumn() && row >=
myRange.getRow() && row <= myRange.getLastRow()) { //As defined by your Named Range
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.insertRowBefore(2);//Replace Your Custom Code Here
}
}