View Single Post
  #2   Report Post  
Dave Peterson
 
Posts: n/a
Default

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