Добрый день! Есть большой массив данных в excel в виде: Столбец А - название Столбец B - количество Условно, Иван - 2, Петр - 4, Вася - 3. Необходимо создать количество строк соответствующее количественному значению в столбце B. Должно получиться: Иван Иван Петр Петр Петр Петр Вася Вася Вася
Добрый день! Есть большой массив данных в excel в виде: Столбец А - название Столбец B - количество Условно, Иван - 2, Петр - 4, Вася - 3. Необходимо создать количество строк соответствующее количественному значению в столбце B. Должно получиться: Иван Иван Петр Петр Петр Петр Вася Вася ВасяCryOfSoul
Sub u_149() Application.ScreenUpdating = False aa = Cells(Rows.Count, "a").End(xlUp).Row For i = 1 To aa ba = Range("a" & i).Value bb = Range("b" & i).Value ca = Cells(Rows.Count, "d").End(xlUp).Row + 1 Range("d" & ca & ":d" & ca + bb - 1) = ba Next Application.ScreenUpdating = False End Sub
[/vba]
[vba]
Код
Sub u_149() Application.ScreenUpdating = False aa = Cells(Rows.Count, "a").End(xlUp).Row For i = 1 To aa ba = Range("a" & i).Value bb = Range("b" & i).Value ca = Cells(Rows.Count, "d").End(xlUp).Row + 1 Range("d" & ca & ":d" & ca + bb - 1) = ba Next Application.ScreenUpdating = False End Sub
Nic70y, отлично работает, спасибище. А можно ещё немного усложнить эту историю и автоматически пронумеровать Вась и Петь? 1 Иван 2 Иван 1 Петр 2 Петр 3 Петр 4 Петр 1 Вася 2 Вася 3 Вася
Nic70y, отлично работает, спасибище. А можно ещё немного усложнить эту историю и автоматически пронумеровать Вась и Петь? 1 Иван 2 Иван 1 Петр 2 Петр 3 Петр 4 Петр 1 Вася 2 Вася 3 ВасяCryOfSoul
Sub u_149() Application.ScreenUpdating = False aa = Cells(Rows.Count, "a").End(xlUp).Row For i = 1 To aa ba = Range("a" & i).Value bb = Range("b" & i).Value ca = Cells(Rows.Count, "d").End(xlUp).Row + 1 Range("d" & ca & ":d" & ca + bb - 1) = ba Next fa = Cells(Rows.Count, "d").End(xlUp).Row Range("c2:c" & fa).FormulaR1C1 = "=IF(RC[1]=R[-1]C[1],R[-1]C+1,1)" Range("c2:c" & fa) = Range("c2:c" & fa).Value Application.ScreenUpdating = False End Sub
[/vba]
добавил простую формулу [vba]
Код
Sub u_149() Application.ScreenUpdating = False aa = Cells(Rows.Count, "a").End(xlUp).Row For i = 1 To aa ba = Range("a" & i).Value bb = Range("b" & i).Value ca = Cells(Rows.Count, "d").End(xlUp).Row + 1 Range("d" & ca & ":d" & ca + bb - 1) = ba Next fa = Cells(Rows.Count, "d").End(xlUp).Row Range("c2:c" & fa).FormulaR1C1 = "=IF(RC[1]=R[-1]C[1],R[-1]C+1,1)" Range("c2:c" & fa) = Range("c2:c" & fa).Value Application.ScreenUpdating = False End Sub