Выгрузка значений словаря - VBA
Формулировка задачи:
Приветствую всех!
Надеюсь на Вашу помощь с выгрузкой элементов словаря из листа "источник" в указанный диапазон на листе "Лист2".
Писать построчно диапазон тоже не выходит, выгружает 1 строку значений
Файл прилагается ниже.
Решение задачи: «Выгрузка значений словаря»
textual
Листинг программы
Sub pramoy_code() Dim A, B Dim dic Dim i As Integer, j As Integer Set dic = CreateObject("Scripting.Dictionary") A = Worksheets("источник").[a1].CurrentRegion.Value For i = 2 To UBound(A) For j = 2 To UBound(A, 2) dic(A(i, 1) & A(1, j)) = A(i, j) Next j Next i With Worksheets(1) 'B = .[a6].CurrentRegion.Value ' пропущена первая . ' Получается результирующий диапазон A4:M28 - из-за шапки ' Для точной разметки В в A6:M29 : B = .UsedRange.Offset(5, 0).Resize(.UsedRange.Rows.Count - 5, .UsedRange.Columns.Count).Value For i = 4 To UBound(B) 'For j = 1 To UBound(B, 2) ' Если выводим в диапазон 2016 года I9:M28 без повторения в 2015 For j = 9 To UBound(B, 2) 'Неправильно: If dic.Exists(B(i, 1) & B(j, 1)) Then Cells(i, 9) = dic(B(i, 1) & B(j, 1)) 'Пропущена первая . If dic.Exists(B(i, 1) & B(1, j)) Then .Cells(i + 5, j) = dic(B(i, 1) & B(1, j)) Next j Next i End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д