Try this against a copy of your workbook--it'll destroy the original data.
Option Explicit
Sub testme()
Dim wks As Worksheet
Dim FirstRow As Long
Dim LastRow As Long
Dim iRow As Long
Dim howMany As Long
Set wks = Worksheets("sheet1")
With wks
FirstRow = 2 'headers in row 1???
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For iRow = LastRow To FirstRow Step -1
howMany = .Cells(iRow, "B").Value
If howMany 1 Then
.Rows(iRow + 1).Resize(howMany - 1).Insert
.Cells(iRow, "A").Resize(howMany).Value _
= .Cells(iRow, "A").Value
With .Cells(iRow, "B").Resize(howMany)
.Formula = "=row()-" & iRow - 1
.Value = .Value
End With
End If
Next iRow
End With
End Sub
If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
And there's no validation against the value in column B. It can blow up really
good if you don't type in nice numbers.
Melissa wrote:
I have the following data:
Column Value
T2A 7.00
T2A2 8.00
Since value for T2A = 7, I want 7 rows to e created, like this:
T2A 1
T2A 2
T2A 3
T2A 4
T2A 5
T2A 6
T2A 7
and for T2A2:
T2A2 1
T2A2 2
T2A2 3
T2A2 4
T2A2 5
T2A2 6
T2A2 7
T2A2 8
I just wanna enter a value in "Value" and have Excel create the necessary
no. of rows.
--
Dave Peterson