|
|
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Помогите, кто может. Как определить при загрузке эксель-файла в его автомакросе какой вид пересчета таблиц в Экселе установлен: автоматический или ручной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 10:03:33 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
При загрузке файла нужно только определить, или установить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 12:39:39 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
В файл с таблицей встроен макрос, который выполняется автоматически при загрузке файла. Хотелось бы, чтобы этот макрос определял какой режим пересчета установлен в программе Эксель и по определенному условию (радиокнопки в таблице с переключением режимов) изменял бы этот режим пересчета. Если что непонятно еще уточню. Спасибо за участие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 19:37:37 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Help: Calculation property Application.Calculation=ОписаниеxlAutomaticАвтоматическиxlSemiAutomaticАвтоматически кроме таблицxlManualВручную Calculate method To calculateFollow this example All open workbooksApplication.Calculate (or just Calculate) A specific worksheetWorksheets(1).Calculate A specified rangeWorksheets(1).Rows(2).Calculate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 21:03:36 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Может так, а еще лучше бы - файл примера... If Application.Calculation = xlManual Then _ ' Ваш код Else ' Ваш код End If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 21:05:20 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
IgrokB If Application.Calculation = xlManual Then _ ' Ваш код Else ' Ваш код End If Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2008, 22:08:47 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
IgrokB Спасибо! Именно это я имел ввиду! Но что-то клинило в голове. AndreTM c вашим кодом пока не разобрался. Чувствую мысль глубокая, но пока не дохожу... Public CalculationState As Long ' наверное CalculationOLDState ? Private Sub Workbook_BeforeClose(Cancel As Boolean) ' объявляем переменную Application.Calculation = CalculationOldState ' присваиваем End Sub Private Sub Workbook_Open() ' открывается книга - срабатывает макрос CalculationOldState = Application.Calculation ' переменной присваивается (событие, метод?) Application.Calculation = xlCalculationManual ' ... переключается на ручной пересчет '..... End Sub Все понятно. Всем спасибо! Теперь держись! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2008, 07:59:29 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2008, 09:33:47 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Вот - сам пользуюсь этой штукой - переключение режимов пересчета. Однако время от времени наталкиваюсь на грабли - при выполнении строки Код: plaintext авторRun-time error '1004': Method 'Calculation' of object '_Application' failed. Может кто сталкивался? Может кто подскажет, как бороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 20:13:04 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Неужель только у меня такая проблема возникает?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 13:21:07 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Укей. Поставлю вопрос по-другому :) Может кто-то подскажет, при каких условиях можно менять режим пересчета формул в Excel? Есть ли какое-то влияние состояния документа (скрыт, свернут и проч) на возможность вызова метода Application.Calculation?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 15:12:38 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Посмотри в настройках пересчета открываемого файла. Если стоит Ручной пересчет и галочка на Итерациях, то убери галочку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 21:35:50 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
KL (XL)Посмотри в настройках пересчета открываемого файла. Если стоит Ручной пересчет и галочка на Итерациях, то убери галочку. не, эту фишку по инету я нашел - у меня не тот случай. единственное что - у меня документ скрыт когда я пытаюсь в нем пересчет переключать (меню Окно-Скрыть). И я заметил, что попасть в меню Сервис-Параметры нельзя в этом случае (неактивное оно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 22:22:03 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
Нашел, Как говориццо, себе - и спешу поделиться со всеми :) Оказывается, использование свойства Calculation, по моим наблюдениям, возможно только в том случае, если в Ёкселе открыт ХОТЯ БЫ один документ, и у него отображен ХОТЯ БЫ один лист. В противном случае установка данного свойства приводит к exception. Как же его обойти? Да оказывается достаточно просто!! Вот он - первосырец на сайте мелкомягких: мелкомягкие для арабов вот кусочек интересного сырца: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Умельцы набросали такой вот макросик на автооткрытие документа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Таким чином, возможно, установка свойств автопересчета листа, а не приложения, является более правильным, поскольку не гадит людям в случае ошибки при повторном открытии Ёкселя для других целей (открываем документ - ставим ручной пересчет - автопересчет не включаем по какой-то причине - при следующем открытии любого другого документа имеем грабли в виде ручного пересчета формул) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2008, 16:30:28 |
|
||
|
Как определить условия пересчета при загрузке
|
|||
|---|---|---|---|
|
#18+
сорри за путание в ссылках-урлах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2008, 16:33:27 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35602759&tid=2180006]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
282ms |
get topic data: |
13ms |
get forum data: |
5ms |
get page messages: |
144ms |
get tp. blocked users: |
2ms |
| others: | 193ms |
| total: | 673ms |

| 0 / 0 |
