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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.07.2010, 15:21   #41
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я не совсем в теме.Но заинтересовался.Конечная цель какая ?
Создать программу например управления поливальными машинами через LTPI порт,или моделирование и просчет графика полива,а опрератор жмет потом кнопку.
Анализ,обработка данных Недорого
doober вне форума
Старый 14.07.2010, 15:26   #42
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

Код:
' ДМ 1
Private Sub CheckBox1_Click()
   Set LastCell = ActiveCell   'это можешь добавить к каждому CheckBox_Click
   Application.ScreenUpdating = False 'это можешь добавить к каждому CheckBox_Click
   
   Sheets(1).Shapes("Овал 21").Select
   With Selection.ShapeRange.Fill.ForeColor
      If CheckBox1.Value = -1 Then
         .SchemeColor = 14
      ElseIf CheckBox1.Value = 0 Then
         .SchemeColor = 15
      End If
   End With
   
   LastCell.Select 'это можешь добавить к каждому CheckBox_Click
   Application.ScreenUpdating = True 'это можешь добавить к каждому CheckBox_Click
End Sub
Код:
   Dim r As Range

   For Each r In Sheets(2).Range("D4:M4")
      If Sheets(1).Range("D35") <> 0 And r = 1 Then
         FormAvariyDM.Show
      End If
   Next r
у тебя все работает, мне кажется ты просто не так понимаешь логическую связку And - истина, если оба операнда истинны,
может тебе нужен Or - истина, если хотя бы один из операндов истинен
аналитика вне форума
Старый 14.07.2010, 15:31   #43
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

Эта программа одна из лабораторных работ. Просто пытаюсь добиться случайных условных неполадок, чтобы диспетчер мог принимать решения для управления ДМ и насосами.
Freddy19 вне форума
Старый 14.07.2010, 15:40   #44
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

[QUOTE=аналитика;575484]
Код:
' ДМ 1
Private Sub CheckBox1_Click()
   Set LastCell = ActiveCell   'это можешь добавить к каждому CheckBox_Click
   Application.ScreenUpdating = False 'это можешь добавить к каждому CheckBox_Click
   
   Sheets(1).Shapes("Овал 21").Select
   With Selection.ShapeRange.Fill.ForeColor
      If CheckBox1.Value = -1 Then
         .SchemeColor = 14
      ElseIf CheckBox1.Value = 0 Then
         .SchemeColor = 15
      End If
   End With
   
   LastCell.Select 'это можешь добавить к каждому CheckBox_Click
   Application.ScreenUpdating = True 'это можешь добавить к каждому CheckBox_ClickEnd Sub
Код:
   Dim r As Range

   For Each r In Sheets(2).Range("D4:M4")
      If Sheets(1).Range("D35") <> 0 And r = 1 Then
         FormAvariyDM.Show
      End If
   Next r
And - истина, если оба операнда истинны.

Но в генераторе нет 1-ц. а в D35 есть значение и сробатывает.
Мне и нужно чтобы оба были истинной, а не по отдельности.
Freddy19 вне форума
Старый 14.07.2010, 15:41   #45
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

А что дадут эти добавления в CheckBox_Click?
Freddy19 вне форума
Старый 14.07.2010, 15:46   #46
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

Разница заметна очень сильно! СПАСИБО!
Freddy19 вне форума
Старый 14.07.2010, 15:51   #47
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

про добавления разобрался?
я тестил:
из генератора убирал 1-цу, окно переставало выскакивать, ставил, выскакивало при положительной D35 - вроде все, как положено.

Еще на кнопку "OK" св-во Cancel=True, чтобы Esc-ом закрывать (меня напрягало по кнопочке тыкать)
аналитика вне форума
Старый 14.07.2010, 15:54   #48
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

Генератор, чтобы не было непоняток, - это диапазон D4:M4 на "лист2", да?
аналитика вне форума
Старый 14.07.2010, 15:57   #49
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

При всех положительных D35 не должно выскакивать, только если и в генераторе единица попалась.
Может я цыкл не понимаю.
Условие ж вроде верно если D35<>0 и 1 в ячейке генератора соответствующей SpinButton.
Или если на листе 1 с D4 по M4 <> 0 и на листе 2 с D4 по M4 = 1
Freddy19 вне форума
Старый 14.07.2010, 15:59   #50
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

Ну да
'Ãåíåðàòîð ñëó÷àéíûõ ÷èñåë
Dim c As Range
Randomize
For Each c In Sheets("Ëèñò2").Range("D4:M9")
c = Int(Rnd * 10)
Next c
Freddy19 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по мелочи Syltan Общие вопросы C/C++ 6 29.09.2009 00:19
Вопрос по мелочи Golovastik Общие вопросы C/C++ 8 23.07.2009 22:47
Задачи вызывают затруднение... матрица и сумма ряда. GorNikSar Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2008 12:51
Задачи вызывают затруднение... матрица и сумма ряда. GorNikSar Помощь студентам 2 19.12.2008 07:11