|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.11.2015, 15:48 | #11 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
Выложите Ваш код в котором проблемы
|
03.11.2015, 16:47 | #12 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Без проблем...
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
03.11.2015, 17:11 | #13 |
Новичок
Джуниор
Регистрация: 03.11.2015
Сообщений: 6
|
Вот код первой проверки, остальные идентичны ей. Постарался подробно расписать комментарии, чтобы было легче разобраться
Public Sub Проверка()
Dim s As String Dim i As Variant Dim sh As Worksheet Dim r As Range MsgBox "быстрая проверка БДР" UserForm1.Show False 'загружаем форму 'ускоряем работу Excel Application.ScreenUpdating = False 'отключаем отображение выполняемых действий Application.DisplayAlerts = False 'предотвращаем появление предупрежд событий Application.EnableEvents = False 'отключаем обработку событий Application.AskToUpdateLinks = False 'очищаем буфер обмена ActiveSheet.DisplayPageBreaks = False 'отключаем отображение границ ячеек на странице Application.DisplayStatusBar = False 'отключаем работу статусной строки Application.Calculation = xlCalculationManual 'переключаем расчёты в ручной режим For Each sh In Worksheets 'Проверяем наличие листа с именем Лог_проверки If sh.Name = "Лог_проверки" Then Sheets("Лог_проверки").Select ActiveWindow.SelectedSheets.Delete 'удаляем предыдущий лог End If Next sh 'добавляем новый лист Лог_проверки Worksheets.Add.Name = "Лог_проверки" Sheets("Лог_проверки").Select ActiveSheet.Move Before:=ActiveWorkbook.Sheets(1) With ActiveWorkbook.Sheets("Лог_проверки ").Tab 'выбираем элемент - ярлык листа .Color = 255 ' устанавливаем цвет ActiveWindow.Zoom = 65 ' устанавливаем масштаб листа 65% End With Range("B1") = "Всего год" ' Range("C1").FormulaR1C1 = "январь" Range("C1").Select Selection.AutoFill Destination:=Range("C1:N1"), Type:=xlFillDefault 'растягиваем ячейку со значением январь, чтобы получился ряд с наименованием месяцев Range("C2").Select ActiveWindow.FreezePanes = True ' закрепляем области листа Range("B2:N61").Select Selection.NumberFormat = "#,##0" 'округляем значения чисел ' Проверка БДР (стр.13) и Б продаж (стр.19) Все аналогичные проверки далее строятся по схожему принципу, ошибка случается уже на этом месте, поэтому остальные проверки здесь выкладывать не стал за ненадобностью. Range("A2") = "выручка из БДР и Бпродаж" Range("C3").Select ActiveCell.Formula = "=БДР!AJ13" Selection.AutoFill Destination:=Range("C3:N3"), Type:=xlFillDefault 'протягиваем значение ячейки, строка заполняется данными выручки из БДР помесячно Range("C4").Select ActiveCell.Formula = "=Бпродаж!AJ19" Selection.AutoFill Destination:=Range("C4:N4"), Type:=xlFillDefault 'аналогично заполняется данными по выручке из Бпродаж помесячно Range("B3").Select ActiveCell.Formula = "=SUM(C3:N3)" 'суммируется выручка всех месяцев из БДР Range("B4").Select ActiveCell.Formula = "=SUM(C4:N4)" 'Суммируется выручка всех месяцев из Бпродаж Range("B5").Select ActiveCell.Formula = "=B3-B4" 'вычисляется разница/отклонение выручки за год из БДР и Бпродаж именно это значение присваивается переменной Selection.Copy Range("C5:N5").Select Selection.PasteSpecial Paste:=xlPasteFormulas 'значение ячейки B5 протягивается по всем месяцам, чтобы на листе лога можно было определить, в каком месяце отклонение появилось Это в расчёте не участвует. i = Range("B5")' переменной i присвоено значение отклонения из ячейки B5 If i = 0 Then 'если переменная i =0, то показываем метку 2, перекрашиваем ячейки A2:N2 UserForm1.Label2.Visible = True Range("A2:N2").Interior.ColorIndex = 42 Else 'Если нет, то показываем метку 3, перекрашиваем цвет шрифта и меняем цвет ячеек. UserForm1.Label3.Visible = True Range("A2").Font.ColorIndex = 3 Range("A2:N2").Interior.ColorIndex = 1 End If UserForm1.Caption = "Проверка завершена" 'Возобновляем параметры Excel Application.ScreenUpdating = True Application.DisplayAlerts = True Application.EnableEvents = True Application.DisplayStatusBar = True Application.Calculation = xlCalculationAutomatic End Sub |
05.11.2015, 16:52 | #14 |
Новичок
Джуниор
Регистрация: 03.11.2015
Сообщений: 6
|
Всем спасибо за участие, проблема решена удалением Application.Calculation = xlCalculationManual
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Kohana 3 ORM: почему контроллер не видит checkbox с формы? | Blondy | PHP | 5 | 15.05.2014 22:32 |
Ввести число. По выбору пользователя добавить к нему 1, найти корень или обратное число. создать програму испозуючи оператор "cas | FYNZIK | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 28.02.2014 00:50 |
Задача на использования оператор цикла for C++. Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму | /Crow/ | Помощь студентам | 0 | 19.12.2013 12:02 |
Спарсить то что видит снифер, но не видит браузер... | FleXik | Общие вопросы Delphi | 8 | 11.12.2012 00:44 |
блокировка вызова 2-го экземпляра формы из dll | Roof | Общие вопросы Delphi | 6 | 27.08.2008 01:03 |