Страницы: 1
RSS
Помогите: Разделить значения столбца на несколько строк., Помогите: Разделить значения столбца на несколько строк.
 
Добрый день.
Помогите, пожалуйста, из 1 получить 2.
 
Дубль
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Код
Sub mySpit()
    Dim rr As Range
    On Error Resume Next
    Set rr = Intersect(Selection.Columns(1), ActiveSheet.UsedRange).Areas(1)
    On Error GoTo 0
    If rr Is Nothing Then Exit Sub
    
    Dim Application_Calculation As XlCalculation
    Application_Calculation = Application.Calculation
    Application.Calculation = xlCalculationManual
    
    Dim arr As Variant
    Dim ya As Long
    Dim ss As String
    Dim yr As Long
    For yr = rr.Rows.Count To 1 Step -1
        ss = rr.Cells(yr, 1).Value
        If ss <> "" Then
            arr = Split(ss, ",")
            If UBound(arr) > LBound(arr) Then
                For ya = UBound(arr) To LBound(arr) + 1 Step -1
                    rr.Cells(yr + 1, 1).EntireRow.Insert
                    rr.Cells(yr, 1).EntireRow.Copy rr.Cells(yr + 1, 1).EntireRow
                    rr.Cells(yr + 1, 1).Value = arr(ya)
                Next
                rr.Cells(yr, 1).Value = arr(ya)
            End If
        End If
    Next
    
    Application.Calculation = Application_Calculation
End Sub
Выделите столбец с запятыми, запустите макрос.
 
МатросНаЗебре, если что — массив из сплита (как и arr = dictionary.Keys) будет всегда от 0. Можно писать вместо LBound()  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Если решать формулами, то под эту картинку-задание в таблице потребовалось два дополнительных столбца.
Первый, потому-что данные не сортированы, второй для количества.
Алексей М.
 
pq(m)
Пришелец-прораб.
 
Цитата
написал:
будет всегда от 0.
А для Option Base 1?
 
МатросНаЗебре, так об этом и речь была про ВСЕГДА  :)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Annie_K, если во втором столбце всегда 3 числа, то формула для 1-го столбца
=INDEX($B$2:$C$4;INT((ROW(A1)-1)/3)+1;1)
для 2-го
=TRIM(MID(SUBSTITUTE(REPT(" ";100)&INDEX($B$2:$C$4;INT((ROW(B1)-1)/3)+1;2);",";REPT(" ";100));(MOD(ROW(A1)-1;3)+1)*100;100))
 
Еще парочка вариантов (формулы + PQ). Файл - пример от АlехМ.
Формулы массива

PQ

Для корректной работы PQ назначаем для столбца B текстовый формат.
Страницы: 1
Наверх