Страницы: 1
RSS
Диалоговое окно с выбором действия
 
Добрый вечер, уважаемые форумчане!
Подскажите, где можно найти решение по моему вопросу.
Выполняется макрос, работает отлично. Но возникла необходимость, чтобы макрос работал в зависимости от выбора, который нужно сделать перед выполнением строчки:
Код
Worksheets("Схема").Range("D" & i + 3) = Application.WorksheetFunction.SumIf(.Range("A5:A200" & c2), rst(0), .Range("C5:C200" & c2) '1 вариант
Иногда, нужно, чтобы выполнялась следующая строчка:
Код
Worksheets("Схема").Range("D" & i + 3) = Application.WorksheetFunction.SumIf(.Range("A5:A200" & c2), rst(0), .Range("F5:F200" & c2) '2 вариант
Подскажите, возможно ли как-то через диалоговое окно задавать макросу,  какой вариант нужен?
Что-то типа "Выберете необходимый вариант" и ниже 2 флажка
1 вариант
2 вариант
И, в зависимости от флага, выполнялась нужная строчка.
Буду очень благодарен за любой совет!
 
Проще так сделать:
Код
Sub test()
    v = InputBox("Выберите вариант:" & vbNewLine & "1. текст1" & vbNewLine & "2. текст2" & vbNewLine & vbNewLine & "Введите номер варианта (1 или 2)")
    If v = "" Then Exit Sub

    MsgBox "Выбран вариант " & v
    
    On Error Resume Next
    Select Case Val(v)
        Case 1: Worksheets("Схема").Range("D" & i + 3) = формула1
        Case 2: Worksheets("Схема").Range("D" & i + 3) = формула2
    End Select
End Sub
 
Игорь, спасибо большое!
 
Ещё вариант: MsgBox с кнопками "Да" и "Нет". И вопрос: "Выполнить первый макрос?"
Вариант сложнее: форма, где будут эти самые флажки, но лучше радиокнопки )
 
Юрий М, я тоже думал над MsgBox, но захотелось попробовать флажки... Вообщем, подумаю еще. Но, скорее всего воспользуюсь советом, который дал Игорь.
Но все равно Вам спасибо!
Страницы: 1
Читают тему
Наверх