|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2011, 02:09 | #1 |
Новичок
Джуниор
Регистрация: 09.12.2011
Сообщений: 1
|
Икак правильно заменить в ComboBox Change на MouseDown
На первом листе у нас расположены столбцы с фамилиями, именами и отчествами, а в столбце пол нужно сделать поле со списком чтобы выбирать пол.
Изменить Change на MouseDown Когда меняю и выбираю в поле другой пол, Эксель вылетает.как правильно MouseDown сделать? ThisWorkbook – 'Модуль ThisWorkbook Private Sub Workbook_Open() 'загружаем список Worksheets("Сотрудники").ComboBox1. Clear Worksheets("Сотрудники").ComboBox1. AddItem _ Worksheets("Пол").Cells(2, 1).Text Worksheets("Сотрудники").ComboBox1. AddItem _ Worksheets("Пол").Cells(3, 1).Text End Sub Лист1(Сотрудники) – 'Лист с именем "Сотрудники" Dim Y As Long Private Sub ComboBox1_Change() If ComboBox1.Visible = False Or Y = 0 Or ComboBox1.Text = "" Then Exit Sub End If If ComboBox1.Text = Worksheets("Пол").Cells(2, 1).Text Then Cells(Y, 4).Value = "=Пол!$A$2" Else Cells(Y, 4).Value = "=Пол!$A$3" End If ComboBox1.Text = "" Cells(Y, 4).Select End Sub Private Sub Worksheet_Activate() ComboBox1.Visible = True End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'устанавливаем окно со списком на текущую строку With Target Y = .Row ComboBox1.Visible = False ComboBox1.Width = 15 If .Column = 4 Then ComboBox1.Left = Cells(Y, 4).Left - ComboBox1.Width Else ComboBox1.Left = Cells(Y, 4).Left End If ComboBox1.Top = Cells(Y, 4).Top ComboBox1.Height = Cells(Y, 4).Height End With ComboBox1.Visible = True End Sub Лист2(Пол) – 'Лист с именем "Пол" Private Sub Worksheet_Activate() Worksheets("Сотрудники").ComboBox1. Visible = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'загружаем список Worksheets("Сотрудники").ComboBox1. Clear Worksheets("Сотрудники").ComboBox1. AddItem Cells(2, 1).Text Worksheets("Сотрудники").ComboBox1. AddItem Cells(3, 1).Text End Sub |
09.12.2011, 14:31 | #2 |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
а у вас интересно сделано - элементы комбо выбора пола берутся из ячеек..
типа в любой момент вместо обычных жен и муж можно свои подставить.. |
09.12.2011, 14:35 | #3 |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
ps приложили бы файл что ли..
|
09.12.2011, 14:36 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
отметьте столбец ПОЛ, проверка данных, список, впишите муж.;жен., жмите Ok. проверяйте.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как правильно заменить строку | WennY | Общие вопросы Delphi | 5 | 05.09.2011 09:16 |
TWebBrowser блокировка MouseDown | Crystallon | Общие вопросы Delphi | 2 | 30.04.2011 02:25 |
Описать процедуру change (x, y, z) | qwerty777 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 30.05.2010 22:50 |
Как правильно использовать ComboBox | Pirotexnik | Общие вопросы Delphi | 6 | 26.03.2009 23:30 |
MouseDown: обращение к правой кнопке мыши | ZhekON | Общие вопросы Delphi | 2 | 11.05.2007 19:17 |