Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / выбрать данные из соседней ячейки / 8 сообщений из 8, страница 1 из 1
23.02.2013, 13:44
    #38163156
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
На листе2 есть список стран столбец А и их ID столбец B
вот код который выбирает данные из А и переносит в combobox

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim AllCells As Range, rCell As Range
Dim NoDupes As New Collection

        Set AllCells = .Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
    End With

    On Error Resume Next
    For Each rCell In AllCells
        NoDupes.Add rCell.Value, CStr(rCell.Value)
    Next rCell
    On Error GoTo 0
    For Each Item In NoDupes
        UserForm1.country.AddItem Item
    Next Item

-- далее таким способом я вставляю выбранное значение из списка combobox
ActiveCell.Offset(0, 10).Value = Me.country.Value



Проблема в том что мне нужно вставить данные ID выбранной страны...
Подскажите пожалуйста как это сделать?
Модератор: я ведь уже просил вас научиться пользоваться оформлением кода. Будьте так любезны
...
Рейтинг: 0 / 0
23.02.2013, 17:05
    #38163224
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
Поменять столбцы A и B местами можно (хотя это непринципиально)?
Создавать комбобокс Country нужно именно из коллекции NoDupes , по-другому нельзя (тоже не особо принципиально, но всё же)?
Коллекция NoDupes используется ещё где-то для чего-то?
...
Рейтинг: 0 / 0
23.02.2013, 17:42
    #38163244
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
AndreTM,

да поменять можно
не используется, только тут
...
Рейтинг: 0 / 0
23.02.2013, 18:24
    #38163263
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
Тогда сделайте проще.
Во-первых, не заполняйте комбо добавлением пунктов, а просто укажите укажите в качестве источника нужный диапазон ячеек листа (.RowSource="Лист2!A:B")
Во-вторых, сделайте комбо двухколоночным (.ColumnsCount=2), включающим и ID, и название. И при этом настройте колонки так, чтобы отображалось только название (.ColumnWidths="100 pt;0 pt"), а в качестве возвращаемого значения брались данные второго столбца (.BoundColumn=2).
...
Рейтинг: 0 / 0
23.02.2013, 18:51
    #38163274
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
AndreTM,
спасибо большое, получилось.. но вот 1 проблема теперь раньше делалась проверка

If Me.country.Value = Empty Then
MsgBox "Введите страну", vbExclamation
Me.profession.SetFocus
Exit Sub
End If

а теперь пропускает
...
Рейтинг: 0 / 0
23.02.2013, 18:53
    #38163276
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
bombimbom,

ошибся там не profes а country
...
Рейтинг: 0 / 0
23.02.2013, 18:59
    #38163283
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
Либо перед интерактивом формы с комбобоксом выставляйте некоторое дефолтное значение, либо проверяйте не Country.Value, а Country.ListIndex (=-1 - не выбран элемент)
...
Рейтинг: 0 / 0
23.02.2013, 19:09
    #38163288
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать данные из соседней ячейки
AndreTM,

Спасибо большое! проблему решил, продолжаю дальше изучать макросы :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / выбрать данные из соседней ячейки / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]