Visual Basic for Applications. Практика. Нагина Е.К - 17 стр.

UptoLike

Составители: 

17
If Col > 0 Then
Просмотр всех найденных кодов товаров и сравнение
их с текущим кодом товара
For j = 1 To Col
If CodesData(i) = CodesFound(j) Then
‘Tекущий код товара был найден ранее, поэтому
значения Quantity(j) и SumVol(j) увеличиваются
Flag = False
Quantity (j) = Quantity (j) + 1
SumVol (j) = SumVol (j) + VolData (i)
Exit For
End If
Next j
End If
If Flag = True Then
Текущий код товара новый, поэтому обновляется _
список кодов, а элементы массивов Quantity() и _
‘SumVol() инициализируются исходными значениями
Col = Col + 1
ReDim Preserve CodesFound (Col)
ReDim Preserve Quantity (Col)
ReDim Preserve SumVol (Col)
CodesFound (Col) = CodesData(i)
Quantity (Col) = 1
SumVol (Col) = VolData (i)
End If
Next i
Значения элементов сформированных массивов
заносятся
в столбцы E - G
For j = 1 To Col
Volume = Volume + SumVol (j)
ColSales = ColSales + Quantity (j)
With Range (“E2”)
.Offset (j, 0) = CodesFound (j)
.Offset (j, 1) = Quantity (j)
.Offset (j, 2) = SumVol (j)
End With
Next j
Сортировка нового списка по объемам продаж
‘ (столбец G) в порядке убывания их объемов.
Range(“E3”) .Sort Key1 :=Range(“G3”), Order1 _
:=xlDescending, Header :=xlYes
With Range (“D2”).offset (Col+2, 0).Value= _
Всего продано:”
With Range (“E2”)
.Offset (Col+2, 1) = ColSales
.Offset (Col+2, 2) = Volume
End With
       If Col > 0 Then
‘Просмотр всех найденных кодов товаров и сравнение
‘их с текущим кодом товара
       For j = 1 To Col
          If CodesData(i) = CodesFound(j) Then
‘Tекущий код товара был найден ранее, поэтому
‘значения Quantity(j) и SumVol(j) увеличиваются
            Flag = False
            Quantity (j) = Quantity (j) + 1
            SumVol (j) = SumVol (j) + VolData (i)
            Exit For
          End If
       Next j
      End If
      If Flag = True Then
‘Текущий код товара новый, поэтому обновляется _
‘список кодов, а элементы массивов Quantity() и _
‘SumVol() инициализируются исходными значениями
         Col = Col + 1
         ReDim Preserve CodesFound (Col)
         ReDim Preserve Quantity (Col)
         ReDim Preserve SumVol (Col)
         CodesFound (Col) = CodesData(i)
         Quantity (Col) = 1
         SumVol (Col) = VolData (i)
      End If
     Next i
‘Значения элементов сформированных массивов
‘заносятся в столбцы E - G
    For j = 1 To Col
       Volume = Volume + SumVol (j)
        ColSales = ColSales + Quantity (j)
       With Range (“E2”)
            .Offset (j, 0) = CodesFound (j)
            .Offset (j, 1) = Quantity (j)
            .Offset (j, 2) = SumVol (j)
       End With
    Next j
‘ Сортировка нового списка по объемам продаж
‘ (столбец G) в порядке убывания их объемов.
    Range(“E3”) .Sort Key1 :=Range(“G3”), Order1 _
      :=xlDescending, Header :=xlYes
    With Range (“D2”).offset (Col+2, 0).Value= _
    “Всего продано:”
       With Range (“E2”)
            .Offset (Col+2, 1) = ColSales
            .Offset (Col+2, 2) = Volume
       End With
                            17