Ну, код в первом посте - это просто наброски.. В реале хотел инкапсулировать функцию, которая обрабатывает и переносит данные их одного файла в другой при помощи использования словаря ("Scripting.Dictionary"). По диапазону формирует словарь.. И в дальнейшем по ключу находит нужное значение и ставит его в нужное место. Использование словаря показалось мне удобным, исходя из структуры обрабатываемых данных и скорости обработки. Сам файл во вложении ниже..
Вот код функции со словарем:
Почему вынес функцию в отдельный класс - хочется поиграться с ооп и думаю что в дальнейшем программка усложнится. Вопрос прежний: можно ли/и как передать Range в метод класса ?
Вот код функции со словарем:
Код |
---|
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 |