Страницы: 1
RSS
InputBox - как он работает?
 
Привет всем! Объясните, пожалуйста, опытному чайнику как работает InputBox.  
Например MsgBox возвращает либо vbOk, либо vbCancel, которые потом можно использовать примерно так  
If MsgBox("Привет")= vbCancel Then Exit Sub  
Else  
'Некое действие  
End IF  
 
Если в ИнпутБокс нажать Отмена, он закрывается, но возвращает 0 (или пусто).  
Если выбрать ОК, ИнпутБокс возвращает введеный в него текст,    
а как объяснить Excel, что нужно делать в случае выбора пользователем vbCancel ?
 
Public Sub ИнпутБокс()  
Dim текст As Variant  
   MsgBox "Если в InputBox нажать Отмена, в ячейке будут удалены все данные"  
   текст = InputBox("Введите текст", "Окно ввода текста", "222")  
   MsgBox текст  
     
   If текст <> "" Then  
       Range("H7") = текст  
       MsgBox "Как сделать так, чтобы при выборе пользователем в InputBox - Отмена он закрывался и прекращалось выполнение процедуры?"  
   Else  
   Exit Sub  
   End If  
End Sub
 
Работает :) Спасибо!    
Сори, за назойливость, но любопытно знать.  
Есть ли возможность, при использовании InputBox, в коде обрабатывать константы такие как vbCancel, как в случае с MsgBox?
 
If the user clicks OK or presses ENTER , the InputBox function returns whatever is in the text box. If the user clicks Cancel, the function returns a zero-length string ("").  
 
т.е. при нажатии Cancel результат "" пусто.
 
{quote}{login=Марчук}{date=12.01.2009 02:56}{thema=}{post}If the user clicks OK or presses ENTER , the InputBox function returns whatever is in the text box. If the user clicks Cancel, the function returns a zero-length string ("").  
 
т.е. при нажатии Cancel результат "" пусто.{/post}{/quote}  
Стесьняюсь спросить, это что, цитата из учебника или часть кода, который нужно куда-то записать?  
И все же повторюсь. Можно ли в VBA обрабатывать результат InputBox'а таким образом:  
Если пользователь выбирает vbOk, то текст или пустота из InputBox заносилось в ячейку, а если vbCancel, то InputBox закрывается и прекращается выполнение процедуры. Или в этом случае нужно создавать UserForm?  
С помощью предложенного вами кода, в ячейку невозможно внести пустоту, т.е. очистить ее.
 
можно пробел внести
 
{quote}{login=Марчук}{date=12.01.2009 05:33}{thema=}{post}можно пробел внести{/post}{/quote}  
Спасибо Марчук :)
Страницы: 1
Читают тему
Наверх