Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/История изменения ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » История изменения ячейки (Формулы/Formulas)
История изменения ячейки
evgenij_vl Дата: Понедельник, 24.04.2017, 11:24 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте!

На данном форуме нашел следующий скрипт:
[vba]
Код
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 1 ) {
sheet.getRange(idRow, idCol + 1).setValue(new Date().toString());
}
};
[/vba]

При редактировании ячейки добавляется дата в соседнюю ячейку и в дальнейшем при редактировании дата просто обновляется.

Подскажите, что изменить в скрипте, чтобы старая дата изменения ячейки сохранялась. Т.е., чтобы новая дата постоянно дописывалась и таким образом велась история изменений.


Сообщение отредактировал evgenij_vl - Понедельник, 24.04.2017, 12:50
 
Ответить
СообщениеЗдравствуйте!

На данном форуме нашел следующий скрипт:
[vba]
Код
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 1 ) {
sheet.getRange(idRow, idCol + 1).setValue(new Date().toString());
}
};
[/vba]

При редактировании ячейки добавляется дата в соседнюю ячейку и в дальнейшем при редактировании дата просто обновляется.

Подскажите, что изменить в скрипте, чтобы старая дата изменения ячейки сохранялась. Т.е., чтобы новая дата постоянно дописывалась и таким образом велась история изменений.

Автор - evgenij_vl
Дата добавления - 24.04.2017 в 11:24
китин Дата: Понедельник, 24.04.2017, 11:26 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Понедельник, 24.04.2017, 11:27
 
Ответить
Gustav Дата: Понедельник, 24.04.2017, 11:45 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
чтобы новая дата постоянно дописывалась и таким образом велась история изменений.

Постоянно дописывалась - во всё новые ячейки правее? Или в одну и ту же соседнюю правую ячейку через какой-нибудь разделитель, скажем, через точку с запятой?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
чтобы новая дата постоянно дописывалась и таким образом велась история изменений.

Постоянно дописывалась - во всё новые ячейки правее? Или в одну и ту же соседнюю правую ячейку через какой-нибудь разделитель, скажем, через точку с запятой?

Автор - Gustav
Дата добавления - 24.04.2017 в 11:45
evgenij_vl Дата: Понедельник, 24.04.2017, 12:53 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Постоянно дописывалась - во всё новые ячейки правее? Или в одну и ту же соседнюю правую ячейку через какой-нибудь разделитель, скажем, через точку с запятой?

В одну и ту же ячейку с разделителем. Можно через точку с запятой.
 
Ответить
Сообщение
Постоянно дописывалась - во всё новые ячейки правее? Или в одну и ту же соседнюю правую ячейку через какой-нибудь разделитель, скажем, через точку с запятой?

В одну и ту же ячейку с разделителем. Можно через точку с запятой.

Автор - evgenij_vl
Дата добавления - 24.04.2017 в 12:53
Gustav Дата: Понедельник, 24.04.2017, 14:38 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Если не будет раздражать самая первая точка с запятой в ячейке истории, то самой малой кровью можно обойтись так:
[vba]
Код
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 1 ) {
  var rngHist = sheet.getRange(idRow, idCol + 1);
  rngHist.setValue(rngHist.getValue()+"; "+ new Date());
}
}
[/vba]
Если же будет раздражать, а также если вместо такого формата даты "Mon Apr 24 2017 14:31:59 GMT+0300 (EAT)" захочется чего-то более родного типа "24.04.17", то надо будет еще понапрягаться...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеЕсли не будет раздражать самая первая точка с запятой в ячейке истории, то самой малой кровью можно обойтись так:
[vba]
Код
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 1 ) {
  var rngHist = sheet.getRange(idRow, idCol + 1);
  rngHist.setValue(rngHist.getValue()+"; "+ new Date());
}
}
[/vba]
Если же будет раздражать, а также если вместо такого формата даты "Mon Apr 24 2017 14:31:59 GMT+0300 (EAT)" захочется чего-то более родного типа "24.04.17", то надо будет еще понапрягаться...

Автор - Gustav
Дата добавления - 24.04.2017 в 14:38
evgenij_vl Дата: Вторник, 25.04.2017, 06:44 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Если не будет раздражать самая первая точка с запятой в ячейке истории, то самой малой кровью можно обойтись так


Спасибо за направление.

Сделал так:
[vba]
Код
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();

if ( idCol == 1 ) {
var rngHist = sheet.getRange(idRow, idCol + 1);
  rngHist.setValue(rngHist.getValue()+"; "+ ('0' + curr_date).slice(-2) + "." + ('0' + curr_month).slice(-2) + "." + curr_year + "  " + h + ":" + m + ":" + s);
}
}
[/vba]

Дата и время в формате - "ДД-ММ-ГГГГ ЧЧ:ММ:СС"
 
Ответить
Сообщение
Если не будет раздражать самая первая точка с запятой в ячейке истории, то самой малой кровью можно обойтись так


Спасибо за направление.

Сделал так:
[vba]
Код
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();

if ( idCol == 1 ) {
var rngHist = sheet.getRange(idRow, idCol + 1);
  rngHist.setValue(rngHist.getValue()+"; "+ ('0' + curr_date).slice(-2) + "." + ('0' + curr_month).slice(-2) + "." + curr_year + "  " + h + ":" + m + ":" + s);
}
}
[/vba]

Дата и время в формате - "ДД-ММ-ГГГГ ЧЧ:ММ:СС"

Автор - evgenij_vl
Дата добавления - 25.04.2017 в 06:44
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » История изменения ячейки (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!