У меня есть собственный тип (класс модуль) с именем stdFastenersScrews, которые обладают многими свойствами, например, диаметр, длина, поставщик, и т.д. ...VBA поиск по недвижимости в собственном. Свойство в виде строки
я загрузил все винты в одной коллекции stdFastenersScrews.
Теперь я пытаюсь создать функцию поиска, которая возвращает новую коллекцию на основе условия поиска, но я не знаю, как передать условие поиска (string) в имя свойства stdFastenersScrews. Я пытался что-то вроде этого, но, конечно, это не работает ...
Public screws As Collection
Public Sub parseScrews()
Set screws = New Collection
'...
' Here are parsed data from Excel into screws collection
'...
Dim searchResult As Collection
Set searchResult = searchScrews("Diameter=3")
End Sub
Public Function searchScrews(condition As String) As Collection
Dim results As Collection: Set results = New Collection
Dim cond() As String: cond = Split(condition, "=")
If screws.Count > 0 Then
Dim screwData As stdFastenersScrews
For Each screwData In screws
If screwData.cond(0) = cond(1) Then
results.Add screwData
End If
Next
Else
Call MsgBox("Cannot found any data about screws", vbInformation + vbOKOnly)
End If
Set searchScrews = results
End Function
Выше я линия
If screwData.cond(0) = cond(1) Then
, который я хочу VBA принимает в качестве screwData.Diameter (потому что конд (0) = «Диаметр»), и я действительно не знаю, как это сделать. У вас есть идеи, пожалуйста?
@ PetrKateřiňák, вы прошли через него? – user3598756