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

Вход

Регистрация

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

 

= Мир MS Excel/Коллекция и пользовательский тип данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Коллекция и пользовательский тип данных
mdkChaos Дата: Среда, 01.05.2013, 15:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Сильно просьба не кричать, VBA только начинаю изучать smile

Есть класс Rec1:
[vba]
Код

Public Art As Variant
Public QT As Variant
Public STOK As Variant
Public Supply As Variant
Public NextSupply As Variant
Public Sub ReadFromRow(ByRef ro As Range)
     On Error Resume Next
     With ro
         Art = .Cells(6)
         QT = .Cells(8)
         STOK = .Cells(10)
         Supply = .Cells(11)
         NextSupply = .Cells(12)
     End With
End Sub
[/vba]
и функция:
[vba]
Код

Function TestCollections(StN)
     Dim store As New Collection
     Dim record As Rec1
     Dim ro As Range, ra As Range
     Workbooks.Open Filename:="Путь к файлу\имя файла"
     Workbooks("VenteSurDern4Semaines" & StN & ".xls").Activate
     Worksheets("VenteSurDern4Semaines" & StN).Select
     XRow = ActiveSheet.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
     Set ra = Worksheets("VenteSurDern4Semaines" & StN).Range("A2:M" & XRow)
     For Each ro In ra.Rows
         Set record = New Rec1
         record.ReadFromRow ro
         store.Add record, CStr(record.Art)
     Next ro
     Workbooks("Коллекция.xlsm").Activate
End Function
[/vba]

Вопрос в следующем.
Как можно вернуть значения, которые хранятся в пользовательском типе данных, зная имя ключа и записать их например в массив.
И как сделать проверку на уникальность имени ключа (выдаёт ошибку при заполнении коллекции) и если есть совпадение, сложить значения 2-х строк.

Буду благодарен за любую помощь, а также ссылки на толковое описание объекта Collection и работы с пользовательскими типами данных (желательно на русском, с англ. яз. не дружу :))
 
Ответить
СообщениеСильно просьба не кричать, VBA только начинаю изучать smile

Есть класс Rec1:
[vba]
Код

Public Art As Variant
Public QT As Variant
Public STOK As Variant
Public Supply As Variant
Public NextSupply As Variant
Public Sub ReadFromRow(ByRef ro As Range)
     On Error Resume Next
     With ro
         Art = .Cells(6)
         QT = .Cells(8)
         STOK = .Cells(10)
         Supply = .Cells(11)
         NextSupply = .Cells(12)
     End With
End Sub
[/vba]
и функция:
[vba]
Код

Function TestCollections(StN)
     Dim store As New Collection
     Dim record As Rec1
     Dim ro As Range, ra As Range
     Workbooks.Open Filename:="Путь к файлу\имя файла"
     Workbooks("VenteSurDern4Semaines" & StN & ".xls").Activate
     Worksheets("VenteSurDern4Semaines" & StN).Select
     XRow = ActiveSheet.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
     Set ra = Worksheets("VenteSurDern4Semaines" & StN).Range("A2:M" & XRow)
     For Each ro In ra.Rows
         Set record = New Rec1
         record.ReadFromRow ro
         store.Add record, CStr(record.Art)
     Next ro
     Workbooks("Коллекция.xlsm").Activate
End Function
[/vba]

Вопрос в следующем.
Как можно вернуть значения, которые хранятся в пользовательском типе данных, зная имя ключа и записать их например в массив.
И как сделать проверку на уникальность имени ключа (выдаёт ошибку при заполнении коллекции) и если есть совпадение, сложить значения 2-х строк.

Буду благодарен за любую помощь, а также ссылки на толковое описание объекта Collection и работы с пользовательскими типами данных (желательно на русском, с англ. яз. не дружу :))

Автор - mdkChaos
Дата добавления - 01.05.2013 в 15:45
ShAM Дата: Среда, 01.05.2013, 16:00 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Цитата (mdkChaos)
Буду благодарен за любую помощь, а также ссылки на толковое описание объекта Collection и работы с пользовательскими типами данных (желательно на русском, с англ. яз. не дружу :))

Вот статью посмотрите. Может, поможет.
http://www.excelworld.ru/publ....1-0-113
 
Ответить
Сообщение
Цитата (mdkChaos)
Буду благодарен за любую помощь, а также ссылки на толковое описание объекта Collection и работы с пользовательскими типами данных (желательно на русском, с англ. яз. не дружу :))

Вот статью посмотрите. Может, поможет.
http://www.excelworld.ru/publ....1-0-113

Автор - ShAM
Дата добавления - 01.05.2013 в 16:00
  • Страница 1 из 1
  • 1
Поиск:

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