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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2012, 19:51   #1
eikhner
Пользователь
 
Регистрация: 18.03.2012
Сообщений: 68
По умолчанию соблюсти условия

всем здравствуите, написал такои макрос с помощью магнитофона , как смог , не пинаите

при нажатии на кнопку проверяет значение кнопки 7 , если кнопка не включена, то выдается сообщение , и кнопке 14 придается значение включена , ячеика А1 обнуляется ,
если кнопка 7 имеет значение включена , то ячеике А1 придается значение


Sub Макрос2()
ActiveSheet.Shapes("Option Button 7").Select
With Selection
If .Value = xlOff Then
MsgBox "снимите работы по переднеи левои двери для седана или хэтчбека"
ActiveSheet.Shapes.Range(Array("Opt ion Button 14")).Select
With Selection
.Value = xlOn
Range("A1").FormulaR1C1 = ""
Range("L17").Select
End With

Else
Range("A1").FormulaR1C1 = "1"
Range("L17").Select

End If
End With

End Sub

как правильно написать макрос , чтоб на значение Off , проверялись например 4 кнопки - 7, 8, 9 и 10

те , если хоть одна из 4х этих кнопок имеет значение Off, то выдается сообщение , и кнопке 14 возвращается значение On
если условие по 4 кнопкам выполняются , т.е. все они имеют значение On, то ячеике А1 придается значение 1.

можно и без перехода к L17 , но тогда последняя кнопка ( 7 или14) , с которои проводились деиствия или проверка , выделена для проверки своиств , а как без этого проверить ее не знаю , ведь можно по другому узнать ее значение



Sub Макрос2()
ActiveSheet.Shapes("Option Button 7").Select
With Selection
If .Value = xlOff Then
MsgBox "снимите работы по переднеи левои двери для седана или хэтчбека"
ActiveSheet.Shapes.Range(Array("Opt ion Button 14")).Select
With Selection
.Value = xlOn
Range("A1").FormulaR1C1 = ""
End With
Else
Range("A1").FormulaR1C1 = "1"
End If
End With

End Sub


или проще ещё
проверяем четыре кнопки "Option Button " с номерами, например, 7 ,8,9,10
если хоть одна из них имеет значение Off, то
сообщение " бла бла бла "
кнопке "Option Button 14" задаем значение On
ячеике А1 задаем значение ""
иначе ( все проверяемые кнопки имеют значение On)
ячеике А1 задаем значение "1"

Последний раз редактировалось eikhner; 23.09.2012 в 21:49.
eikhner вне форума Ответить с цитированием
Старый 23.09.2012, 22:25   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

попробуй так:
Код:
Private Sub CommandButton1_Click()
For o = 7 To 10
    If ActiveSheet.Shapes("OptionButton" & o).OLEFormat.Object.Object.Value = True Then
        MsgBox "Ok", 64, ""
        Exit Sub
    End If
Next o
 MsgBox "No", vbCritical, ""
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 23.09.2012, 22:46   #3
eikhner
Пользователь
 
Регистрация: 18.03.2012
Сообщений: 68
По умолчанию

я наверное неправильно поставил условие , номера кнопок могут идти не от и до , а быть произвольными
например 7, 42 , 34 , 27 и тд
eikhner вне форума Ответить с цитированием
Старый 23.09.2012, 22:57   #4
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Код:
Private Sub CommandButton1_Click()
Dim N()
N = Array(7, 2, 4, 5) ' номера кнопок
For o = 0 To 3
    If ActiveSheet.Shapes("OptionButton" & N(o)).OLEFormat.Object.Object.Value = True Then
        MsgBox "Ok", 64, ""
        Exit Sub
    End If
Next o
 MsgBox "No", vbCritical, ""
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 23.09.2012, 23:13   #5
eikhner
Пользователь
 
Регистрация: 18.03.2012
Сообщений: 68
По умолчанию

кнопки называются вот так вот
"Option Button 7", "Option Button 41", "Option Button 34", "Option Button 27"

в вашем случае пока пишет компонент с данным именем не наиден

и выделена желтым строка


If ActiveSheet.Shapes("OptionButton" & N(o)).OLEFormat.Object.Object.Value = True Then

переписал вот так вот If ActiveSheet.Shapes("Option Button" & N(o)).OLEFormat.Object.Object.Value = True Then - не помогло
Вложения
Тип файла: rar пробный.rar (19.3 Кб, 11 просмотров)

Последний раз редактировалось eikhner; 23.09.2012 в 23:22.
eikhner вне форума Ответить с цитированием
Старый 23.09.2012, 23:20   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Я проверял на 2003 и у меня OptionButton7 без пробелов
Если в имени кнопки есть пробелы, то нужно внести изменения в макрос
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 23.09.2012, 23:21   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

в 2007 тоже OptionButton1
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 23.09.2012, 23:22   #8
eikhner
Пользователь
 
Регистрация: 18.03.2012
Сообщений: 68
По умолчанию

приложил фаил к пред сообщению
eikhner вне форума Ответить с цитированием
Старый 23.09.2012, 23:46   #9
eikhner
Пользователь
 
Регистрация: 18.03.2012
Сообщений: 68
По умолчанию

всем спасибо , уважаемый d_ober1 помог справиться с проблемои на отлично
eikhner вне форума Ответить с цитированием
Старый 23.09.2012, 23:48   #10
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Код:
N = Array(7, 2, 4, 5) ' номера кнопок
For o = 0 To 3
    If ActiveSheet.Shapes("Option Button " & N(o)).ControlFormat.Value = 1 Then
        MsgBox "Ok", 64, ""
        Exit Sub
    End If
Next o
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условия if..else (c++) Inst Помощь студентам 2 13.05.2012 11:10
2 условия Andrey770 Microsoft Office Excel 2 25.02.2012 00:13
условия дружков Microsoft Office Excel 4 06.01.2012 14:34
Условия DartDayring Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 02.04.2010 10:08
Помогите даме соблюсти ея секреты! дмидми Свободное общение 1 28.08.2008 18:03