Страницы: 1
RSS
Записать в столбец каждое значение из диапазона 00093682 – 00093685
 
Здравствуйте. Помагите пожалуйста.
в таблице есть столбцы в  ячейку  записанно такое вот значение 00093682 – 00093685 то есть диапазон от и  до. можно ли и как сделать что бы автоматом так сказать раскрыть все  значение от 00093682 до 00093685.
заранее спасибо
Изменено: vikttur - 19.07.2021 21:09:50
 
Виталий, а Вы только про название правила почитали? Про файл-пример ничего там не нашли?
 
Упустил этот момент. сейчас поправлю
 
Код
Function SplitD(d)
  Dim v, i&, s$
  v = Split(d)
  If UBound(v) = 0 Then Exit Function
  i = Val(v(2)): SplitD = i + 1 - Val(v(0))
  For i = Val(v(0)) To i
    s = s & ", " & i
  Next
  If Len(s) Then MsgBox Right(s, Len(s) - 1)
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10      Function   SplitD(d)        Dim   v, i&, s$        v = Split(d)        If   UBound(v) = 0   Then   Exit   Function        i = Val(v(2)): SplitD = i + 1 - Val(v(0))        For   i = Val(v(0))   To   i          s = s &   ", "   & i        Next        If   Len(s)   Then   MsgBox Right(s, Len(s) - 1)    End   Function   
 
Что то не выходит. не работает (
 
В правилах есть пункт и о бездумном цитировании. И это Вы упустили... Исправьте сообщение.
 
Виталий,
Код
Sub mrshkei()
Dim arr, arr2, arr3, i As Long, n As Long, k As Long, x As Long
arr = Range("A6:A8")
ReDim arr3(1 To 1): k = 1
For i = LBound(arr) To UBound(arr)
    arr2 = Split(arr(i, 1), " – ")
    x = x + arr2(1) - arr2(0) + 1
    ReDim Preserve arr3(1 To x)
    For n = CDbl(arr2(0)) To CDbl(arr2(1))
        arr3(k) = n: k = k + 1
    Next n
Next i
Range("A10").Resize(UBound(arr3), 1) = Application.WorksheetFunction.Transpose(arr3)
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Пусть в А1 00093682 – 00093685
в столбце В  все  значение от 00093682 до 00093685
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
 iLastRow = 1
 Cells(iLastRow, "B") = Split(Cells(1, 1), " – ")(0)
  Do
   Cells(iLastRow, "B").NumberFormat = "00000000"
   Cells(iLastRow + 1, "B") = Cells(iLastRow, "B") + 1
  iLastRow = iLastRow + 1
  Loop While Format(Cells(iLastRow, "B"), "00000000") <> Split(Cells(1, 1), " – ")(1)
End Sub
 
Спасибо
 
Забыли отреагировать на замечание
 
del
Изменено: buchlotnik - 21.08.2021 23:19:07
Соблюдение правил форума не освобождает от модераторского произвола
 
доп столбец формула
Страницы: 1
Наверх