Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Блокировка в форме, Блокировка ячейки 
:(
    Опции темы
bucdapuswert
Дата 27.5.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



В форме я ввожу номер места,ряда выбираю при помощи OptionButton вариант ввода текста,
но как заблокировать ту ячейку в которую я ввел текст(Д или П или О).

Private Sub CommandButton1_Click()
Dim Z As String
Dim a As String
Dim x1 As Integer, y1 As Integer
If IsNumeric(TextBox2.Text) Then
MsgBox "Неверный ввод места"
TextBox2.SetFocus
Exit Sub
End If
If Not IsNumeric(TextBox3.Text) Then
MsgBox "Неверный ввод ряда"
TextBox3.SetFocus
Exit Sub
End If
Z = TextBox2.Text   \Ввод номера места
a = TextBox3.Text   \Ввод номера ряда
RR = Z + a
If OptPen.Value Then
x1 = Range(RR).Column: y1 = Range(RR).Row
Cells(y1, x1).FormulaR1C1 = "Д"
End If
If OptReb.Value Then
x1 = Range(RR).Column: y1 = Range(RR).Row
Cells(y1, x1).FormulaR1C1 = "П"
End If
If OptPro.Value Then
x1 = Range(RR).Column: y1 = Range(RR).Row
Cells(y1, x1).FormulaR1C1 = "О"
End If
End Sub
PM MAIL   Вверх
Naghual
Дата 27.5.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Что значит "заблокировать"?
В экселе существует возможность защитить лист, возможно это и имелось в виду?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
bilya
Дата 28.5.2007, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1



Можно загонять занятые места в массив или коллекцию, и проверять потом на "занятость"
PM MAIL   Вверх
bilya
Дата 3.6.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1



Может вам лучше ловить событие изменения значения ячейки, чтобы не маятся с массивами и не тратить зря ресурсы? Например, посмотрите это (модернизировал код, приводимый в "Функция считает раскрашенные ячейки..."):
Код

Dim znachY
Dim adrY As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim kn As Integer
If znachY <> 0 Then
    If znachY <> ActiveSheet.Range(adrY).Value Then
        kn = MsgBox("Значение в ячейке " & adrY & " было изменено. Оставляем?", 36, "Изменение")
        If kn = 7 Then ActiveSheet.Range(adrY).Value = znachY
    End If
End If
znachY = ActiveCell.Value
adrY = Target.Address
End Sub
Вставляйте в код листа, и пробуйте изменить ранее введеные значения
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.