powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогие намисать небольшой макрос....
8 сообщений из 8, страница 1 из 1
Помогие намисать небольшой макрос....
    #32905788
OlegVd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, есть выпадающий список из 3-х пунктов
Текст1
Текст2
Текст3

Я хотел бы,что б при выборе одного из пунктов выводилось сообщение.
"Вы уверены что хотите применить Текст1"
Ответ "Да" и "Нет"


Ну в зависимости от выбора, есть НЕТ, то никаких действий, есть Да то приступает работать другая программа....


помогите написать такой макрос, очень прошу...
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32905857
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это для Excel
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    Public cmb As Shape
    
Public Sub Start()
    Set cmb = Worksheets( 1 ).Shapes.AddFormControl(xlDropDown,  10 ,  10 ,  100 ,  10 )
    cmb.ControlFormat.AddItem "Текст1"
    cmb.ControlFormat.AddItem "Текст2"
    cmb.ControlFormat.AddItem "Текст3"
    cmb.OnAction = "cmbClick"
End Sub

Public Sub cmbClick()
    If MsgBox("Вы уверены что хотите применить " & _
    cmb.ControlFormat.List(cmb.ControlFormat.ListIndex), vbYesNo) = vbYes Then
        MsgBox "ДА"
    Else
        MsgBox "НЕТ"
    End If
End Sub
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32905884
LKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LKO
Гость
OlegVdНапример, есть выпадающий список из 3-х пунктов
Текст1
Текст2
Текст3


Воспользуйтесь событием "Click". Поместите нужный код в процедуру обработки этого события

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub ComboBox1_Click()
    Dim s As String
On Error GoTo ErrH
    s = ComboBox1.List(ComboBox1.ListIndex)
    If MsgBox("Вы уверены что хотите применить """ & s & """?", _
            vbQuestion + vbYesNo + vbDefaultButton1, "") = vbYes Then
        'Код в случае подтверждения
    End If
Exit Sub
ErrH:
    MsgBox Err.Description, vbCritical, Err.Source
End Sub
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32905913
OlegVd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, все круто
Но:
- при выборе какого-либо пункта выдается ошибка "Не найден макрос КНига3.xls!cmbClick"

- я так понимаю этот список просто висит в воздухе....
можно ли его связать с какой-то ячейкой...


а так, спасибо за помощь
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32906036
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Public cmb As Shape
Public Sub Start()
...
Public Sub cmbClick()
...
должны находиться в модуле
для создания списка надо запустить Start
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32906058
OlegVd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2LKO :


Выпадающий список у меня реализован через Проверку.
Как сделать выпадающий список в комбобокс?


2marvan :

не очень понял, что вы хотели сказать?
что должно находиться в модуле? в каком модуле?
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32906140
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegVdчто должно находиться в модуле? в каком модуле?
чтобы не было сообщений "Не найден макрос КНига3.xls!cmbClick" приведённый мной код должен находиться в модуле, а не в книге или листе.
...
Рейтинг: 0 / 0
Помогие намисать небольшой макрос....
    #32907925
OlegVd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо,
давайте поступим по такому алгоритму:

Пусть, есть ячейка А2.
В ней записано "Новая анкета" или "Просмотр"
В яейках В1,В2,В3 введена некая информация.
В зависимости от записи в ячейка А2 будет:
1)Нужно, что б, если "Новая анкета" обнулялись значения.
Например, В1 = пустое поле
В2 = 0
В3 = 0

2)Если "Просмотр", тогда включается полная защита листа(сценариев, содержимого, обектов)

Кроме конечно же ячейки А2, для изменения данных в данной ячейке.


ВОт как я это вижу,но к сожалению что-то не так и не работает...
помогите подправить код:

Для листа с анкетой забиваем такой макрос:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" And Target.Value = "Просмотр" Then
ActiveSheet.Protect ("ваш пароль")
ElseIf Target.Address = "$A$2" And Target.Value = "Новая анкета" Then
ActiveSheet.Unprotect ("ваш пароль")
Range("b1").Value = ""
Range("b2").Value = ""
Range("b3").Value = ""
End If
End Sub
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогие намисать небольшой макрос....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]