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

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

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

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

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

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

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


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

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

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы