doniuliia
Дата: Четверг, 26.01.2023, 19:15 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Добрый день! Подскажите пожалуйста, как сделать так, чтобы внося числовые данные в таблицу они автоматически умножались на два? Есть вот такая таблица . Изначально ячейки будут пустые, однако при внесении значений они должны сразу умножаться на два. Буду благодарна за помощь!
Добрый день! Подскажите пожалуйста, как сделать так, чтобы внося числовые данные в таблицу они автоматически умножались на два? Есть вот такая таблица . Изначально ячейки будут пустые, однако при внесении значений они должны сразу умножаться на два. Буду благодарна за помощь! doniuliia
Ответить
Сообщение Добрый день! Подскажите пожалуйста, как сделать так, чтобы внося числовые данные в таблицу они автоматически умножались на два? Есть вот такая таблица . Изначально ячейки будут пустые, однако при внесении значений они должны сразу умножаться на два. Буду благодарна за помощь! Автор - doniuliia Дата добавления - 26.01.2023 в 19:15
Gustav
Дата: Четверг, 26.01.2023, 23:04 |
Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация:
1184
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Скрипт нужен, примерно следующего вида:
[vba]
Код
function onEdit(e) {
range = e.range;
sheet = range.getSheet();
if (sheet.getName = "ПЛАТЬЯ, САРАФАНЫ") {
if (RangeIntersect(range,sheet.getRange("B4:K8"))) {
if (range.getValue()) range.setValue(2*range.getValue()); // если не 0
}
}
}
function RangeIntersect(R1, R2) {
// (c)
https://stackoverflow.com/questio....; var LR1 = R1.getLastRow();
var Ro2 = R2.getRow();
if (LR1 < Ro2) return false;
var LR2 = R2.getLastRow();
var Ro1 = R1.getRow();
if (LR2 < Ro1) return false;
var LC1 = R1.getLastColumn();
var C2 = R2.getColumn();
if (LC1 < C2) return false;
var LC2 = R2.getLastColumn();
var C1 = R1.getColumn();
if (LC2 < C1) return false;
return true;
}
[/vba]
Я загрузил в Ваш файл - попробуйте.
Скрипт нужен, примерно следующего вида:
[vba]
Код
function onEdit(e) {
range = e.range;
sheet = range.getSheet();
if (sheet.getName = "ПЛАТЬЯ, САРАФАНЫ") {
if (RangeIntersect(range,sheet.getRange("B4:K8"))) {
if (range.getValue()) range.setValue(2*range.getValue()); // если не 0
}
}
}
function RangeIntersect(R1, R2) {
// (c)
https://stackoverflow.com/questio....; var LR1 = R1.getLastRow();
var Ro2 = R2.getRow();
if (LR1 < Ro2) return false;
var LR2 = R2.getLastRow();
var Ro1 = R1.getRow();
if (LR2 < Ro1) return false;
var LC1 = R1.getLastColumn();
var C2 = R2.getColumn();
if (LC1 < C2) return false;
var LC2 = R2.getLastColumn();
var C1 = R1.getColumn();
if (LC2 < C1) return false;
return true;
}
[/vba]
Я загрузил в Ваш файл - попробуйте. Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Скрипт нужен, примерно следующего вида:
[vba]
Код
function onEdit(e) {
range = e.range;
sheet = range.getSheet();
if (sheet.getName = "ПЛАТЬЯ, САРАФАНЫ") {
if (RangeIntersect(range,sheet.getRange("B4:K8"))) {
if (range.getValue()) range.setValue(2*range.getValue()); // если не 0
}
}
}
function RangeIntersect(R1, R2) {
// (c)
https://stackoverflow.com/questio....; var LR1 = R1.getLastRow();
var Ro2 = R2.getRow();
if (LR1 < Ro2) return false;
var LR2 = R2.getLastRow();
var Ro1 = R1.getRow();
if (LR2 < Ro1) return false;
var LC1 = R1.getLastColumn();
var C2 = R2.getColumn();
if (LC1 < C2) return false;
var LC2 = R2.getLastColumn();
var C1 = R1.getColumn();
if (LC2 < C1) return false;
return true;
}
[/vba]
Я загрузил в Ваш файл - попробуйте. Автор - Gustav Дата добавления - 26.01.2023 в 23:04