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

UptoLike

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

25
LS3 = LS3 + 1
ReDim Preserve List3(LS3)
Анализ расположения сравниваемых имен в обоих
списках.
Расположенный первым в алфавитном порядке элемент
перемещается в объединенный список.
Значение переменной Index соответствующего списка
обновляется. В случае совпадения обновляются
индексы обоих списков
If Name1 < Name2 Then
List3(LS3) = Name1
Index1 = Index1 + 1
ElseIf Name1 > Name2 Then
List3(LS3) = Name2
Index2 = Index2 + 1
ElseIf Name1 = Name 2 Then
List3(LS3) = Name2
Index1 = Index1 + 1
Index2 = Index2 + 1
End If
Loop
Один из списков полностью просмотрен (List1 или
‘ List2).
Оставшиеся элементы другого списка добавляются
в
конец объединенного списка.
If Index1 > LS1 And Index2 <= LS2 Then
For i = Index2 To LS2
LS3 = LS3 + 1
ReDim Preserve List3(LS3)
List3(LS3) = List2(i)
Next i
ElseIf Index1 <= LS1 And Index2 > LS2 Then
For i = Index1 To LS1
LS3 = LS3 +1
ReDim Preserve List3(LS3)
List3(LS3) = List1(i)
Next i
End If
Занесение объединенного списка в столбец D
рабочего листа
With Range(“D3”)
For i = 1 To LS3
.Offset(i, 0) = List3(i)
Next i
      LS3 = LS3 + 1
      ReDim Preserve List3(LS3)
‘ Анализ расположения сравниваемых имен в обоих
‘ списках.
‘Расположенный первым в алфавитном порядке элемент
‘ перемещается в объединенный список.
‘Значение переменной Index соответствующего списка
‘ обновляется. В случае совпадения обновляются
‘ индексы обоих списков
      If Name1 < Name2 Then
          List3(LS3) = Name1
          Index1 = Index1 + 1
      ElseIf Name1 > Name2 Then
          List3(LS3) = Name2
          Index2 = Index2 + 1
      ElseIf Name1 = Name 2 Then
          List3(LS3) = Name2
          Index1 = Index1 + 1
          Index2 = Index2 + 1
      End If
   Loop
‘ Один из списков полностью просмотрен (List1 или
‘ List2).
‘ Оставшиеся элементы другого списка добавляются
‘ в конец объединенного списка.
   If Index1 > LS1 And Index2 <= LS2 Then
      For i = Index2 To LS2
           LS3 = LS3 + 1
           ReDim Preserve List3(LS3)
           List3(LS3) = List2(i)
      Next i
   ElseIf Index1 <= LS1 And Index2 > LS2 Then
      For i = Index1 To LS1
           LS3 = LS3 +1
           ReDim Preserve List3(LS3)
           List3(LS3) = List1(i)
      Next i
   End If
‘ Занесение объединенного списка в столбец D
‘ рабочего листа
   With Range(“D3”)
        For i = 1 To LS3
             .Offset(i, 0) = List3(i)
        Next i
                           25