Ну, код в первом посте - это просто наброски.. В реале хотел инкапсулировать функцию, которая обрабатывает и переносит данные их одного файла в другой при помощи использования словаря ("Scripting.Dictionary"). По диапазону формирует словарь.. И в дальнейшем по ключу находит нужное значение и ставит его в нужное место. Использование словаря показалось мне удобным, исходя из структуры обрабатываемых данных и скорости обработки. Сам файл во вложении ниже..
Вот код функции со словарем:
Код |
---|
Public Function Calculate()
Dim dicData
Dim row As Long
Dim key As String
Dim id As String
Dim item As Long
Set dicData = CreateObject("Scripting.Dictionary")
With DatabaseSheet
For row = 1 To .Rows.Count
key = CStr(.Cells(row, 1).Value)
item = CLng(.Cells(row, 13).Value)
dicData.Add key, item
Next
End With
With CalculatorSheet
For row = 1 To .Rows.Count
id = CStr(.Cells(row, 1).Value)
.Cells(row, 13).Value = dicData.item(id)
Next
End With
End Function
|
Почему вынес функцию в отдельный класс - хочется поиграться с ооп и думаю что в дальнейшем программка усложнится. Вопрос прежний: можно ли/и как передать Range в метод класса ?