Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Не срабатывает пересчет книги для пользовательской функции
 
Много лет мучил вопрос, почему пользовательская функция  (вставленная в ячейки на листе) вычисляется только после выполнения Application.CalculateFull  (или Полный пересчет, соответствующей комбинацией из 3-ех клавиш с F9), но при этом автоматически не вычисляется при изменениях на рабочем листе вне зависимости от Параметра вычисления (Автоматически или Вручную) , а также не срабатывает Вычисление на листе (Shift+F9) или Вычисление всей книги (F9).

Как пример, есть пользовательская функция суммирования, которая зависит от типа форматируемых ячеек (например, суммирует только жирные цифры).
Application.CalculateFull  заставляет данную функцию работать (Пересчет осуществляется).
Все прочие команды (как в VBA), так и вычисления с помощью комбинации клавиш не действует.

Вопрос задан с целью оптимизации расчетов (чтобы много времени не уходило на расчет всей книги, а хочется чтобы расчет был либо по данной ячейке, либо по листу).
Всякий раз Application.CalculateFull - это не очень практичный вариант.

По сути вопрос в том, чем отличается Application.Calculate от Application.CalculateFull ???
Можно ли прописать процедуры события книги (например, Workbook_SheetSelectionChange) в качестве надстройки?
 
Известно, что макросы и пользовательские функции можно включить в эксель с помощью пользовательских надстроек.
Можно ли с помощью подобных надстроек, либо каким другим способом, процедуры события книги  (например, Workbook_SheetSelectionChange) распространить на все файлы, которые буду создавать в Эксель.
Иными словами, в новом файле Эксель модули "Лист" и "Эта книга" изначально не имеют кода, а необходимо чтобы был.  
Отключение автоматической установки цвета фона ячейки
 
Доброй ночи!
Уважаемые специалисты Эксель, подскажите как избавиться от того, чтобы Эксель автоматически не устанавливал цвет ячейки на основании цвета ячейки, расположенной над нею после нажатия клавиши Enter.

На деле выглядит так:
1. Есть ячейка с фоном (скажем розовым)
2. Ввожу данные в ячейку под ней и нажимаю Enter
3. Данная ячейка также становится розовой

Как избавиться от подобного автоматической установки цвета?
Мне нужно, чтобы цвет ячейки не менялся.

Это отключается в рамках опций Эксель, либо на уровне VBA?
Как отформатировать число в TextBox?
 
Есть числовое значение в TextBox (оно может быть как целым (Long), так и с плавающей запятой).
Как отформатировать в TextBox значение с разделителем тысяч (например, пробелом).
Выполнение клавиш клавиатуры в TextBox
 
Подскажите, каким кодом выполнить действие клавиши (Например, Del или BkSpace) в элементе формы TextBox?
В итоге хочу, чтобы автоматически удалялись неправильно введенные элементы с клавиатуры!
варианты заполнения Имени массива
 
Не могу понять, где находиться тонкая настройка в заполнении массива.
Обнаружил, что нижеследующий код (где а -это массив)
a = Range("Баланс").Value
ActiveWorkbook.Names("Статьи").RefersToR1C1 = a

дает разные результаты в сохранении Имени массива.
1). Если Range("Баланс") -это строка на листе, то сохраняется как ={"q1";"q2";"q3";"q4";"q5";"g7"}

2). Если Range("Баланс") -это столбец на листе, то сохраняется как={"q1":"q2":"q3":"q4":"q5":"g7"}

Где находится настройка (параметр), чтобы столбец сохранялся по первому варианту, т.е. через точку с запятой, а не через двоеточие.....
является ли имя именованной константой?
 
Как средствами vba определить является ли конкретное имя константой, т.е когда имя не ссылается на диапазон (ячейку)
Является ли имя массивом констант
 
Допустим стандартно введено имя, но только оно ссылается не на диапазон, как часто бывает, а на массив констант ={"маша";"Лена";"Катя"}.

Как в VBA проверить, что конкретное имя существует и при этом является именованным массивом констант?
функция проверки ошибочного названия листа
 
Как проверить наличие листа с определенным именем писалось много раз, но вот как создать пользовательскую функцию, которая бы проверяла "правильность написания имени листа" (ну например, чтобы не было пустым или не начиналась с запрещенного символа).

Пользоваться такой конструкцией не хочется
On Error Resume Next
Sheets.Add
ActiveSheet.Name = "new list"

поскольку создастся новый лист, а мне нужно только наличие информации (можно создать/нельзя создать с таким именем)

спасибо.
Страницы: 1
Наверх