Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2010, 20:23   #1
bank_notes
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 16
По умолчанию Dictionary

Доброго Всем Здоровья!

Вопрос: Есть ли возможность и если да как, вносить items, один за другим в Dictionary посредством CommandButton_Click выбирая их в combobox.

И следующий вопрос можно ли после этого производить действия с этим словарем? Имеется в виду в следующем коде.

Если что, прошу разъяснить возможно самым простым языком, поскольку не специалист использую VBA для практических надобностей.
bank_notes вне форума Ответить с цитированием
Старый 22.02.2010, 21:18   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

ничего не понятно. приложите файл с тем что есть и что хотите на выходе увидеть
Dophin вне форума Ответить с цитированием
Старый 23.02.2010, 00:52   #3
bank_notes
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 16
По умолчанию

Public Sub CommandButton3_Click()
Dim iOrder As Scripting.Dictionary
Set iOrder = New Dictionary
Dim TheName As String
TheName = UserForm3.ComboBox1.Value
If TheName <> "" Then
iOrder.Add TheName, 1
End If
End Sub

Вот код. Проблема в том, что этот он дает только одно добавление. Хотелось бы нажатием кнопки добавлять в коллекцию, то бишь в словарь, одно за другим, выбирая из комбобокса столько значений, сколько нужно.

Второй вопрос был Можно ли производить действия с iOrder после End Sub. Т.е. создал
Dictionary, внес внего список значений а следующим кодом произвожу с со "словарем" необходимые действия.
bank_notes вне форума Ответить с цитированием
Старый 23.02.2010, 01:12   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Вынести в модуль
Код:
 Public  iOrder As Scripting.Dictionary
Один раз создать
Код:

Private Sub CommandButton1_Click()
Set iOrder = New Dictionary
End Sub
И беспощадно эксплуатировать по своему усмотрению,он будет доступен везде
Код:
Public Sub CommandButton3_Click()
Dim TheName As String
TheName = UserForm3.ComboBox1.Value
If TheName <> "" Then
iOrder.Add TheName, 1
End If
End Sub
А Вы каждый раз создаете,и делаете одну запись
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
English Dictionary v1.0 (просьба потестить немного) Rebel123 Мультимедиа в Delphi 7 21.08.2009 22:07