Нужно цифры, которые есть в столбце и считаются путем сжатия исправить в функции следующее
1) соединять в тире только если три и более, в количестве двух и одного не соединять через тире
пример 1, 2, 4-7, 11, 12, 22-45
2) убрать в конце лишние пробелы и запятые
1) соединять в тире только если три и более, в количестве двух и одного не соединять через тире
пример 1, 2, 4-7, 11, 12, 22-45
2) убрать в конце лишние пробелы и запятые
| Код |
|---|
Function Sgatie(диапазон As Range) As String Dim i&, j&, a() a = диапазон.Value j = 1: Sgatie = a(1, 1) For i = 2 To UBound(a, 1) If a(i, 1) = a(i - 1, 1) + 1 Then j = j + 1 ElseIf j = 1 Then Sgatie = Sgatie & ", " & a(i, 1) Else j = 1 Sgatie = Sgatie & "-" & a(i - 1, 1) & ", " & a(i, 1) End If Next If j > 1 Then Sgatie = Sgatie & "-" & a(i - 1, 1) End Function |
Изменено: - 27.05.2016 12:09:53