Вопрос на тему CheckBox
Модератор: Naeel Maqsudov
Здравствуйте,
Подскажите пожалуйста, возможно ли с помощью CheckBox'ов вносить в таблицу excel определенный текст?
А именно, имеется лист (каталог_книг) с колонками: название, автор, год, издатель,.... и жанр. При нажатии на ячейку в колонке "ЖАНР" должна появляться форма с CheckBox'ами имеющими названия жанров (роман, вестерн, детектив и т.п.) , при выборе определенного жанра он должен вставляться в ячейку, при выборе нескольких тоже самое, через запятую.
Заранее спасибо за информацию.
Подскажите пожалуйста, возможно ли с помощью CheckBox'ов вносить в таблицу excel определенный текст?
А именно, имеется лист (каталог_книг) с колонками: название, автор, год, издатель,.... и жанр. При нажатии на ячейку в колонке "ЖАНР" должна появляться форма с CheckBox'ами имеющими названия жанров (роман, вестерн, детектив и т.п.) , при выборе определенного жанра он должен вставляться в ячейку, при выборе нескольких тоже самое, через запятую.
Заранее спасибо за информацию.
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Посмотрите вот это Пометка элементов списка флажками (checkbox)
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Нет, не то, наверное непонятно объяснил, надо чтобы при выделении (нажании на) любую ячейку в столбе F открывалась форма на которой отображенны CheckBox'ы:
CheckBox1="роман"
CheckBox2="детектив"
CheckBox3="фэнтази"
CheckBox4="фантастика" и т.д.
и CommandButton:
CommandButton1-Ок
CommandButton2-выйти из формы
К примеру:
Если ставим галочку на CheckBox1 и нажимаем Ок, в ячейке появляется надпись "роман" и форма закрывается
Если ставим галочку на CheckBox1, CheckBox4, CheckBox10 и нажимаем Ок, в ячейке текст" роман, фантастика, триллер "и точь также как в предыдущем.
Ну как-то вот так.
Я конечно сам пробую, но к сожалению объем моих познаний в этой сфере равен почти нулю(((
Посмотрите пожалуйста, очень надо...
CheckBox1="роман"
CheckBox2="детектив"
CheckBox3="фэнтази"
CheckBox4="фантастика" и т.д.
и CommandButton:
CommandButton1-Ок
CommandButton2-выйти из формы
К примеру:
Если ставим галочку на CheckBox1 и нажимаем Ок, в ячейке появляется надпись "роман" и форма закрывается
Если ставим галочку на CheckBox1, CheckBox4, CheckBox10 и нажимаем Ок, в ячейке текст" роман, фантастика, триллер "и точь также как в предыдущем.
Ну как-то вот так.
Я конечно сам пробую, но к сожалению объем моих познаний в этой сфере равен почти нулю(((
Посмотрите пожалуйста, очень надо...
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Посмотрите вот это.
- Вложения
-
- SelectBook.zip
- (10.86 КБ) 28 скачиваний
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Виктор, еще можно так:
Код: Выделить всё
Option Explicit
Private Sub CommandButton1_Click()
Dim txt1, txt2 As String, i As Byte
txt1 = Array("Роман", "Детектив", "Фэнтези", "Фантастика и т.д.")
For i = 1 To 4
If Me.Controls("CheckBox" & i) Then
txt2 = txt2 & ", " & txt1(i - 1)
End If
Next i
ActiveCell.Value = Mid(txt2, 3)
End Sub
Private Sub CommandButton2_Click(): Unload Me: End Sub
Спасибо Вам наиогромнейшее, выручили, Вы просто Гении
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Да, красиво!!!Виктор, еще можно так:
Возьму себе на заметку.
p.s. Вообще-то я не программист, пишу как умею)))
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
-
- Сообщения: 3
- Зарегистрирован: 08 окт 2010, 13:45
- Откуда: www.excel-vba.ru
Еще вариант:
Во вложении другой вариант, более гибкий.
Код: Выделить всё
Private Sub CommandButton1_Click()
Dim oCntrl As Object, sTxt As String
For Each oCntrl In Me.Controls
If TypeOf oCntrl Is msforms.CheckBox Then
If oCntrl Then
sTxt = sTxt & ", " & Me.Controls("Label" & --Replace(oCntrl.Name, "CheckBox", "") - 1).Caption
End If
End If
Next oCntrl
ActiveCell.Value = Mid(sTxt, 3)
End Sub
- Вложения
-
- Choose_Book.zip
- (10.83 КБ) 28 скачиваний
http://depositfiles.com/files/fp1imdwtw - все про VBA в MS OFFICE большинство для 2007 го и 2003