Страницы: 1
RSS
Заполнение ячеек при помощи CheckBox
 
Народ, всем привет!
Столкнулся с непреодалимой для себя задачей в части VBA. Постараюсь описать ее максимально подробно:
В моей рабочей книге имеется UserForm, в котором содержатся CheckBox. Так же в данной книге у меня идет список значений в колонке (А:A). Мне необходимо связать CheckBox с данной колонкой, а именно когда в CheckBox прописываю число(допустим N), то в рабочем листе в ячейке [B(N)] появляется знак "+".
Знатоки, прошу Вашей помощи в написании данного кода
 
Цитата
obratka написал: В моей рабочей книге имеется UserForm
У нас этой книги нет )
Цитата
obratka написал: когда в CheckBox прописываю число(допустим N)
N не может быть числом - это текст )
В ЧекБокс вообще нельзя ни число ни текст "прописать": в общем случае этот контрол принимает два значения - Истина и Ложь.
 
Цитата
Юрий М написал: В ЧекБокс вообще нельзя ни число ни текст "прописать"
Извините, имел ввиду TextBox.

Цитата
Юрий М написал: У нас этой книги нет )
К сожалению у меня сейчас нет доступа к книге, но обсолютно все ее содержимое я описал выше)
 
Цитата
obratka написал: К сожалению у меня сейчас нет доступа к книге
А создать небольшой файл-аналог нет никакой возможности?
 
Накидал образец:
 
Ввели в первый ТекстБокс N - в какой сроке должен появится плюсик?
А если ввели во второй ТекстБокс - тогда что?
 
Цитата
Юрий М написал: Ввели в первый ТекстБокс N - в какой сроке должен появится плюсик?
Юрий, "+" должен появиться в Ячейке BN, где B-номер колонки, N - номер строки. То есть если в текстбоксе вводим цифру 3, то в ячейке B3 должен появиться "+".
То же самое нужное необходимо проделать с остальными текстбоксами
 
Код
Private Sub TextBox1_Change()
    If Me.TextBox1 >= 0 Then
        Cells(CLng(Me.TextBox1), 2) = "+"
    End If
End Sub
 
Юрий, Спасибо огромное!
 
Юрий, можно еще вопрос. ТекстБоксы не поддаются редактированию, то есть когда я начинаю изменять значение Текстбокса, ексель мне выдает следующую ошибку:
  • Run-time error '13': Type mismatch

Подскажите, как от этой ошибки можно избавиться, точнее как настроить ТекстБокс, чтобы его можно было редактировать?
 
Да редактировать его можно... Только мне кажется, что Вы выбрали не самый лучший путь для реализации своей задумки. Опишите, что Вы хотите получить, используя ТАКОЕ количество TextBox?
Для начала я бы добавил на форму кнопку, по которой бы начиналась обработка. Событие Change не самый лучший вариант - я привёл его только для примера, чтобы показать, КАК найти нужную строку.
 
После Private Sub TextBox1_Change() добавьте строку On Error Resume Next
Код
Private Sub TextBox1_Change()
On Error Resume Next
.....
хотя согласен с Юрий М,  порочный путь выбрали  ;)
Согласие есть продукт при полном непротивлении сторон
 
Юрий М, на основе вашего совета я просто использовал событие AfterUpdate и все заработало как нужно. По крайней мере пока что)
Страницы: 1
Наверх