VB Code:
  1. Sub X()
  2.  
  3.  
  4. Set rng = Range("I18:L95")
  5.  
  6.  
  7. aydata = rng
  8. rng.ClearContents
  9.  
  10.  
  11. desrow = 1
  12.  
  13.  
  14. For i = LBound(aydata) To UBound(aydata)
  15.  
  16. If aydata(i, 3) <> 0 Then
  17.  
  18. For j = 1 To 3
  19. rng.Cells(desrow, j) = aydata(i, j)
  20. Next j
  21. If desrow / 15 = Int(desrow / 15) Then desrow = desrow + 1 Else desrow = desrow + 1
  22.  
  23. End If
  24.  
  25. Next i
  26.  
  27. End Sub

This code deletes the values from the rows in a table with a blank in the third column and moves the values in the rows with a numeric value in the third column up to fill the spaces.

For example:

da-006 acrylic 20
db-008 acrylic
dc-012 acrylic 10

Becomes...

da-006 acrylic 20
dc-012 acrylic 10

Sometimes, in a seperate row, underneath the row with a blank or numeric value is a description.

Is there anyway to keep the description if the above row remains but if the above row is deleted, the description would be too??

For example:

da-006 acrylic 20
1. description...
db-008 acrylic
2. description....
dc-012 acrylic 10

Becomes...

da-006 acrylic 20
1. description...
dc-012 acrylic 10

The values of all the columns change depending on the job at hand, so does the description. The description is always longer than 10 characters, if that helps.

Any idea how to accomplish this??