Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2015, 15:48   #11
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Выложите Ваш код в котором проблемы
27102014 вне форума Ответить с цитированием
Старый 03.11.2015, 16:47   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Без проблем...
Код:
Sub ttt()
Range("A1") = Range("B5")
MsgBox (Range("A1"))
End Sub
Только конечно сперва в B5 нужно что-то написать.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 03.11.2015, 17:11   #13
Zhnec
Новичок
Джуниор
 
Регистрация: 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
Zhnec вне форума Ответить с цитированием
Старый 05.11.2015, 16:52   #14
Zhnec
Новичок
Джуниор
 
Регистрация: 03.11.2015
Сообщений: 6
По умолчанию

Всем спасибо за участие, проблема решена удалением Application.Calculation = xlCalculationManual
Zhnec вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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