Сильно просьба не кричать, VBA только начинаю изучать
Есть класс 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 только начинаю изучать
Есть класс 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
Буду благодарен за любую помощь, а также ссылки на толковое описание объекта Collection и работы с пользовательскими типами данных (желательно на русском, с англ. яз. не дружу :))
Буду благодарен за любую помощь, а также ссылки на толковое описание объекта Collection и работы с пользовательскими типами данных (желательно на русском, с англ. яз. не дружу :))