Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Расрывающийся список в форме по брендам и моделям. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расрывающийся список в форме по брендам и моделям. (Макросы Sub)
Расрывающийся список в форме по брендам и моделям.
Uznknown Дата: Воскресенье, 05.01.2014, 10:58 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Расрывающийся список в форме по брендам и моделям. Как дополнить другие аппараты. К примеру как в телефоне, о уже с планшетом?
К сообщению приложен файл: -MY-1.rar (52.8 Kb)


Сообщение отредактировал Uznknown - Воскресенье, 05.01.2014, 11:42
 
Ответить
СообщениеРасрывающийся список в форме по брендам и моделям. Как дополнить другие аппараты. К примеру как в телефоне, о уже с планшетом?

Автор - Uznknown
Дата добавления - 05.01.2014 в 10:58
excelworld. Дата: Воскресенье, 05.01.2014, 11:14 | Сообщение № 2
Группа: Гости
Попрыгунчик и лентяй.
 
Ответить
СообщениеПопрыгунчик и лентяй.

Автор - excelworld.
Дата добавления - 05.01.2014 в 11:14
Uznknown Дата: Воскресенье, 05.01.2014, 11:17 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
excelworld., Если честно. Уже второй день хочу научиться. Был бы хотябы пример на двух примерах кода. На третий догодался бы. Учусь только.
 
Ответить
Сообщениеexcelworld., Если честно. Уже второй день хочу научиться. Был бы хотябы пример на двух примерах кода. На третий догодался бы. Учусь только.

Автор - Uznknown
Дата добавления - 05.01.2014 в 11:17
Pelena Дата: Воскресенье, 05.01.2014, 11:36 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
В макросах не сильна, но думаю, начать надо с создания листов, аналогичных листу ТЕЛЕФОНЫ, где прописать бренды и модели.
А затем заглянуть в код формы, найти процедуры, котрые отвечают за раскрывающиеся списки Private Sub ComboBox5_Change(), Private Sub cmbBrend_Change() и сделать по аналогии с телефонами


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВ макросах не сильна, но думаю, начать надо с создания листов, аналогичных листу ТЕЛЕФОНЫ, где прописать бренды и модели.
А затем заглянуть в код формы, найти процедуры, котрые отвечают за раскрывающиеся списки Private Sub ComboBox5_Change(), Private Sub cmbBrend_Change() и сделать по аналогии с телефонами

Автор - Pelena
Дата добавления - 05.01.2014 в 11:36
Uznknown Дата: Воскресенье, 05.01.2014, 11:43 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Проделал как Вы ответили. Выдает ошибку.
 
Ответить
СообщениеПроделал как Вы ответили. Выдает ошибку.

Автор - Uznknown
Дата добавления - 05.01.2014 в 11:43
Uznknown Дата: Воскресенье, 05.01.2014, 11:47 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
[vba]
Код
Private Sub ComboBox5_Change()
'myIndex = Me.ComboBox5.ListIndex
'Me.MultiPage1.Value = myIndex
If Me.ComboBox5 = "Телефон" Then
With Sheets("Телефоны")
myE = .Range("A" & .Rows.Count).End(xlUp).Row
Me.cmbBrend.Clear
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)
Me.cmbBrend.AddItem myCell
Next
End With

End If
End Sub
Private Sub ComboBox5_Change()
'myIndex = Me.ComboBox5.ListIndex
'Me.MultiPage1.Value = myIndex
If Me.ComboBox5 = "Планшет" Then
With Sheets("Планшеты")
myE = .Range("A" & .Rows.Count).End(xlUp).Row
Me.cmbBrend.Clear
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)
Me.cmbBrend.AddItem myCell
Next
End With

End If
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Private Sub ComboBox5_Change()
'myIndex = Me.ComboBox5.ListIndex
'Me.MultiPage1.Value = myIndex
If Me.ComboBox5 = "Телефон" Then
With Sheets("Телефоны")
myE = .Range("A" & .Rows.Count).End(xlUp).Row
Me.cmbBrend.Clear
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)
Me.cmbBrend.AddItem myCell
Next
End With

End If
End Sub
Private Sub ComboBox5_Change()
'myIndex = Me.ComboBox5.ListIndex
'Me.MultiPage1.Value = myIndex
If Me.ComboBox5 = "Планшет" Then
With Sheets("Планшеты")
myE = .Range("A" & .Rows.Count).End(xlUp).Row
Me.cmbBrend.Clear
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)
Me.cmbBrend.AddItem myCell
Next
End With

End If
End Sub
[/vba]

Автор - Uznknown
Дата добавления - 05.01.2014 в 11:47
Uznknown Дата: Воскресенье, 05.01.2014, 11:49 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Не получается. Изменял также и в

[vba]
Код
Private Sub cmbBrend_Change()
Dim myF As Range
Set myF = Sheets("Телефоны").Columns(1).Find(Me.cmbBrend, , , xlWhole)
Me.cmbModel.Clear
i = myF.Row
Do
i = i + 1
DoEvents
If Sheets("Телефоны").Range("B" & i) = "" Then Exit Do
Me.cmbModel.AddItem Sheets("Телефоны").Range("B" & i)
Loop
End Sub
[/vba]
 
Ответить
СообщениеНе получается. Изменял также и в

[vba]
Код
Private Sub cmbBrend_Change()
Dim myF As Range
Set myF = Sheets("Телефоны").Columns(1).Find(Me.cmbBrend, , , xlWhole)
Me.cmbModel.Clear
i = myF.Row
Do
i = i + 1
DoEvents
If Sheets("Телефоны").Range("B" & i) = "" Then Exit Do
Me.cmbModel.AddItem Sheets("Телефоны").Range("B" & i)
Loop
End Sub
[/vba]

Автор - Uznknown
Дата добавления - 05.01.2014 в 11:49
Pelena Дата: Воскресенье, 05.01.2014, 11:56 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Не, вторую процедуру создавать не надо, надо в первую вставить строчки, касающиеся листа Планшет, вот эти

[vba]
Код
If Me.ComboBox5 = "Планшет" Then  
With Sheets("Планшеты")  
myE = .Range("A" & .Rows.Count).End(xlUp).Row  
Me.cmbBrend.Clear  
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)  
Me.cmbBrend.AddItem myCell  
Next  
End With  

End If
[/vba]

[p.s.]Оформляйте код тегами[/p.s.]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе, вторую процедуру создавать не надо, надо в первую вставить строчки, касающиеся листа Планшет, вот эти

[vba]
Код
If Me.ComboBox5 = "Планшет" Then  
With Sheets("Планшеты")  
myE = .Range("A" & .Rows.Count).End(xlUp).Row  
Me.cmbBrend.Clear  
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)  
Me.cmbBrend.AddItem myCell  
Next  
End With  

End If
[/vba]

[p.s.]Оформляйте код тегами[/p.s.]

Автор - Pelena
Дата добавления - 05.01.2014 в 11:56
Uznknown Дата: Воскресенье, 05.01.2014, 12:40 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Так ?

[vba]
Код
Private Sub cmbBrend_Change()
Dim myF As Range
Set myF = Sheets("Телефоны").Columns(1).Find(Me.cmbBrend, , , xlWhole)
Me.cmbModel.Clear
i = myF.Row
Do
i = i + 1
DoEvents
If Sheets("Телефоны").Range("B" & i) = "" Then Exit Do
Me.cmbModel.AddItem Sheets("Телефоны").Range("B" & i)
Loop
If Me.ComboBox5 = "Планшет" Then
With Sheets("Планшеты")
myE = .Range("A" & .Rows.Count).End(xlUp).Row
Me.cmbBrend.Clear
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)
Me.cmbBrend.AddItem myCell
Next
End With

End If
End Sub
[/vba]
 
Ответить
СообщениеТак ?

[vba]
Код
Private Sub cmbBrend_Change()
Dim myF As Range
Set myF = Sheets("Телефоны").Columns(1).Find(Me.cmbBrend, , , xlWhole)
Me.cmbModel.Clear
i = myF.Row
Do
i = i + 1
DoEvents
If Sheets("Телефоны").Range("B" & i) = "" Then Exit Do
Me.cmbModel.AddItem Sheets("Телефоны").Range("B" & i)
Loop
If Me.ComboBox5 = "Планшет" Then
With Sheets("Планшеты")
myE = .Range("A" & .Rows.Count).End(xlUp).Row
Me.cmbBrend.Clear
For Each myCell In .Range("A1:A" & myE).SpecialCells(xlCellTypeConstants)
Me.cmbBrend.AddItem myCell
Next
End With

End If
End Sub
[/vba]

Автор - Uznknown
Дата добавления - 05.01.2014 в 12:40
excelworld. Дата: Воскресенье, 05.01.2014, 13:10 | Сообщение № 10
Группа: Гости
Ввиду наличия КРИТИЧЕСКОЙ ошибки использования SpecialCells с данными листа Планшеты, данный код правильно работать не будет.
Для работоспособности кода требуется применение другого алгоритма.
 
Ответить
СообщениеВвиду наличия КРИТИЧЕСКОЙ ошибки использования SpecialCells с данными листа Планшеты, данный код правильно работать не будет.
Для работоспособности кода требуется применение другого алгоритма.

Автор - excelworld.
Дата добавления - 05.01.2014 в 13:10
Uznknown Дата: Воскресенье, 05.01.2014, 13:16 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Вот что получилось. Я на правильном пути?
К сообщению приложен файл: 9568539.rar (52.9 Kb)


Сообщение отредактировал Uznknown - Воскресенье, 05.01.2014, 13:21
 
Ответить
СообщениеВот что получилось. Я на правильном пути?

Автор - Uznknown
Дата добавления - 05.01.2014 в 13:16
Uznknown Дата: Воскресенье, 05.01.2014, 13:37 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Не получается.
 
Ответить
СообщениеНе получается.

Автор - Uznknown
Дата добавления - 05.01.2014 в 13:37
Uznknown Дата: Воскресенье, 05.01.2014, 15:01 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо. Всем кто помогал по данному вопросу.
 
Ответить
СообщениеСпасибо. Всем кто помогал по данному вопросу.

Автор - Uznknown
Дата добавления - 05.01.2014 в 15:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расрывающийся список в форме по брендам и моделям. (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!