Мне не помогли ни здесь ни здесь. Может на этом форуме есть люди разумные. Задача несложная, мне надо помочь отобразить в отдельном столбце пропущенные числа. Если кто-нибудь мне поможет с решением моей проблемы, то я подарю ему(ей) свою электронную книгу "Остросюжетная Коллекция Анекдотов" - это чтобы мотивации добавить тому, кто займется этим делом.
Вот файл, в котором собраны числа с пропусками. Файл большой, чисел 36020, поэтому выложил на своем сайте.
Ссылка удалена. Нарушение Правил форума. [admin]Достаточно сохранить в формате .xlsx и файл прикрепится к сообщению[/admin]
Мне не помогли ни здесь ни здесь. Может на этом форуме есть люди разумные. Задача несложная, мне надо помочь отобразить в отдельном столбце пропущенные числа. Если кто-нибудь мне поможет с решением моей проблемы, то я подарю ему(ей) свою электронную книгу "Остросюжетная Коллекция Анекдотов" - это чтобы мотивации добавить тому, кто займется этим делом.
Вот файл, в котором собраны числа с пропусками. Файл большой, чисел 36020, поэтому выложил на своем сайте.
Ссылка удалена. Нарушение Правил форума. [admin]Достаточно сохранить в формате .xlsx и файл прикрепится к сообщению[/admin]TotalJeka
Сообщение отредактировал Pelena - Четверг, 23.01.2020, 16:07
Ссылка удалена. Нарушение Правил форума. Admin: Достаточно сохранить в формате .xlsx и файл прикрепится к сообщению. У меня файл 1,5 метра весит.
Ссылка удалена. Нарушение Правил форума. Admin: Достаточно сохранить в формате .xlsx и файл прикрепится к сообщению. У меня файл 1,5 метра весит.TotalJeka
Public Sub GetNonExistedNumbers() Dim lRow As Long, vData() As Variant Dim vOut() As Long, i As Long Dim vCheck() As Long, pSheet As Worksheet Dim vMin As Long, vMax As Long Set pSheet = ActiveSheet lRow = pSheet.Cells(pSheet.Rows.Count, 1).End(xlUp).Row vData = pSheet.Range(pSheet.Cells(1, 1), pSheet.Cells(lRow, 1)).Value vMin = Application.Min(vData) vMax = Application.Max(vData) ReDim vCheck(vMin To vMax) For i = 1 To UBound(vData) vCheck(vData(i, 1)) = 1 Next ReDim vOut(1 To UBound(vData), 1 To 1) lRow = 0 For i = vMin To vMax If vCheck(i) = 0 Then lRow = lRow + 1 vOut(lRow, 1) = i End If Next Set pSheet = ActiveWorkbook.Worksheets.Add pSheet.Cells(1, 1).Resize(lRow, 1).Value = vOut End Sub
Public Sub GetNonExistedNumbers() Dim lRow As Long, vData() As Variant Dim vOut() As Long, i As Long Dim vCheck() As Long, pSheet As Worksheet Dim vMin As Long, vMax As Long Set pSheet = ActiveSheet lRow = pSheet.Cells(pSheet.Rows.Count, 1).End(xlUp).Row vData = pSheet.Range(pSheet.Cells(1, 1), pSheet.Cells(lRow, 1)).Value vMin = Application.Min(vData) vMax = Application.Max(vData) ReDim vCheck(vMin To vMax) For i = 1 To UBound(vData) vCheck(vData(i, 1)) = 1 Next ReDim vOut(1 To UBound(vData), 1 To 1) lRow = 0 For i = vMin To vMax If vCheck(i) = 0 Then lRow = lRow + 1 vOut(lRow, 1) = i End If Next Set pSheet = ActiveWorkbook.Worksheets.Add pSheet.Cells(1, 1).Resize(lRow, 1).Value = vOut End SubTotalJeka