Макрос, транслирующий исходный реестр в другой формат - VBA

Узнай цену своей работы

Формулировка задачи:

Ребята все привет, дорогие мои помогите девочке, есть исходные реестр с привязкой к дате, мне надо транслировать в другой формат с привязкой к контрагентам. Как реализовать макросом? Примерчик с объяснениями приложила.

Решение задачи: «Макрос, транслирующий исходный реестр в другой формат»

textual
Листинг программы
Sub ReestrNew()
    Dim b(), i&, j&, k&
    nk = Array("1 d", "2", "3", "5 7 10 13 17 23", "4 8 12 14 18 22", "6 9 11 15 19 24", "20 25 d", "16 21")
    a = Sheets("Лист1").UsedRange.Value
    ReDim b(2 To UBound(a, 1), 1 To 8)
    For i = 2 To UBound(b, 1)
        For j = 1 To UBound(b, 2)
            s = Split(nk(j - 1))
            zn = ""
            For k = 0 To UBound(s)
                If IsNumeric(s(k)) Then
                    zn = zn & a(i, s(k))
                Else
                    If zn <> "" Then
                        d = Split(zn)
                        d(UBound(d)) = ""
                        zn = Join(d)
                    End If
                End If
            Next
            If zn = "" Then zn = " "
            If j = 6 Then zn = CDbl(zn)
            b(i, j) = zn 'IIf(j = 6, CDbl(zn), zn)
        Next
    Next
    With Sheets("Реестр")
        .Rows("2:" & .UsedRange.Rows.Count + 1).Delete
        .Cells(2, 1).Resize(UBound(b, 1) - 1, UBound(b, 2)) = b
    End With
    Sheets("Свод").Activate
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы