Как запретить редактирование ячейки по F2, не защищая лист

Программирование на Visual Basic for Applications
Rustam
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 30.10.2003 (Чт) 15:11

Как запретить редактирование ячейки по F2, не защищая лист

Сообщение Rustam » 30.10.2003 (Чт) 15:15

1.Есть такая конструкция
For Each Shape In ActiveSheet.Shapes
Shape.Delete
Next Shape
Как сделать так чтобы она удаляла элементы Shapes избирательно
(например не трогала элементы автофильтра или удаляла бы только
элементы CommandButton)

2. Как запретить редактирование ячейки по F2, не защищая лист.

3. Есть такая конструкция, запрещающая вводить в TextBox всё, кроме цифр и запятых.
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox1.Locked = False
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 58 And KeyAscii > 47 Or KeyAscii = 8 Or KeyAscii = 44 Then
TextBox1.Locked = False
Else
TextBox1.Locked = True
End If
End Sub

Как запретить ввод более одной запятой.

4. Как при выборе значения из списка элемента ComboBox формы сделать так, чтобы выбранное значение теряло фокус (не было выделенным)

5. Где в 97 Офисе свойство формы ShowModal

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 31.10.2003 (Пт) 9:40

1. Ты же имеешь объект Shape каждый раз, что мешает проверить другие его проперти на предмет отсева?
2. Сабклассинг, видимо, ибо соотв. события нет.
3. if instr(textbox.text,",") then ...
4. Поставить фокус на что-набудь другое, например, на саму форму.
5. Нигде, имхо.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 83

    TopList