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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Макрос очистки данных в диапазоне (Формулы/Formulas)
Макрос очистки данных в диапазоне
EvelRus Дата: Пятница, 25.03.2016, 02:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 1211
Репутация: 484 ±
Замечаний: 0% ±

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

Можно более автоматизированно перебрать в двух циклах (по строкам и колонкам) все ячейки используемой области листа:
[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
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

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

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

Excel 2013
SpreadsheetApp.getActiveSpreadsheet();

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


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

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

Автор - Dimansh
Дата добавления - 16.04.2016 в 03:38
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Макрос очистки данных в диапазоне (Формулы/Formulas)
Страница 1 из 11
Поиск:

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