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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос очистки данных в диапазоне - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Макрос очистки данных в диапазоне
EvelRus Дата: Пятница, 25.03.2016, 02:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем доброго дня!
Подскажите, пожалуйста, пытаюсь сделать макрос на очистку данных на странице, игнорируя строки с формулами и никак не получается.
[vba]
Код
function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{name : "Очистить",functionName : "Clear"}];
  sheet.addMenu("Скрипты", entries);
};
function Clear() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.setActiveSelection("B4").clearContent();
}
[/vba] В текущей версии удаление сделано простым перечислением нужным мне ячеек
[vba]
Код
var data = range.clearFormat(xlCellTypeConstants, xlNumbers);
[/vba]Так не работает (
Помогите, пожалуйста, решить задачу

Заранее спасибо.


Сообщение отредактировал EvelRus - Пятница, 25.03.2016, 03:26
 
Ответить
СообщениеВсем доброго дня!
Подскажите, пожалуйста, пытаюсь сделать макрос на очистку данных на странице, игнорируя строки с формулами и никак не получается.
[vba]
Код
function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{name : "Очистить",functionName : "Clear"}];
  sheet.addMenu("Скрипты", entries);
};
function Clear() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.setActiveSelection("B4").clearContent();
}
[/vba] В текущей версии удаление сделано простым перечислением нужным мне ячеек
[vba]
Код
var data = range.clearFormat(xlCellTypeConstants, xlNumbers);
[/vba]Так не работает (
Помогите, пожалуйста, решить задачу

Заранее спасибо.

Автор - EvelRus
Дата добавления - 25.03.2016 в 02:29
Gustav Дата: Пятница, 25.03.2016, 11:42 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
В текущей версии удаление сделано простым перечислением нужным мне ячеек

Можно более автоматизированно перебрать в двух циклах (по строкам и колонкам) все ячейки используемой области листа:
[vba]
Код
function Clear() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Лист3');
  for(var r=1; r<=sheet.getLastRow(); r++) {
    for(var c=1; c<=sheet.getLastColumn(); c++) {
      if (sheet.getRange(r, c).getFormulas() == '') {
        sheet.getRange(r, c).clearContent();
      }
    }
  }
}
[/vba]


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

Можно более автоматизированно перебрать в двух циклах (по строкам и колонкам) все ячейки используемой области листа:
[vba]
Код
function Clear() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Лист3');
  for(var r=1; r<=sheet.getLastRow(); r++) {
    for(var c=1; c<=sheet.getLastColumn(); c++) {
      if (sheet.getRange(r, c).getFormulas() == '') {
        sheet.getRange(r, c).clearContent();
      }
    }
  }
}
[/vba]

Автор - Gustav
Дата добавления - 25.03.2016 в 11:42
EvelRus Дата: Пятница, 25.03.2016, 19:19 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Правильно я понимаю, под формулой понимается любое значение начинающиеся с "="?
т.е. =30 тоже является формулой?
 
Ответить
СообщениеПравильно я понимаю, под формулой понимается любое значение начинающиеся с "="?
т.е. =30 тоже является формулой?

Автор - EvelRus
Дата добавления - 25.03.2016 в 19:19
Dimansh Дата: Суббота, 16.04.2016, 03:38 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Google Docs
SpreadsheetApp.getActiveSpreadsheet();

Подскажите, как назначить под выполнение этого не активный лист а ТОЛЬКО один конкретный лист
[moder]Вопрос не относится к данной теме. Создайте свою[/moder]


Сообщение отредактировал Pelena - Суббота, 16.04.2016, 08:00
 
Ответить
Сообщение
SpreadsheetApp.getActiveSpreadsheet();

Подскажите, как назначить под выполнение этого не активный лист а ТОЛЬКО один конкретный лист
[moder]Вопрос не относится к данной теме. Создайте свою[/moder]

Автор - Dimansh
Дата добавления - 16.04.2016 в 03:38
  • Страница 1 из 1
  • 1
Поиск:

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