View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Greg Wilson Greg Wilson is offline
external usenet poster
 
Posts: 747
Default VBA Question - Applying values

Be sure to run this on a copy of the original. Also, if it works, test it
rigorously before using on real data !!! I don't regard myself as an expert
and have only a vague picture of the worksheet and it sounds large and
important.

It is assumed that the worksheet name is "Parts List". Change to suit. Also
assumed is that the headers are in row 1. The code will therefore skip row 1.
If this is not correct then it will require adaption. Here's the suggested
code. Minimal testing:

Sub ChangeCompLines()
Dim r As Range, c As Range
Dim ws As Worksheet
Dim i As Long

Set ws = Sheets("Parts List") 'Change to suit
Set r = ws.Columns("A").SpecialCells(xlCellTypeConstants)
i = 1
For Each c In r.Cells
Do
i = i + 1
If c.Row = 1 Or Len(c(i, 2)) = 0 Then Exit Do
If Len(c(i, 1)) = 0 Then
c(i, 2) = c(i, 2) * c(1, 2).Value
c(i, 5) = c(1, 5)
End If
Loop Until Len(c(i, 1)) 0
i = 1
Next
End Sub

Regards,
Greg

"Scott Wagner" wrote:

I'm hoping to get some help with something that feels complex to me, that may
or may not be for the guru's here.

In my worksheet I have products that, in some cases, have components as well
as a master line item. There are two properties of the master line I need to
apply to the component lines.

Property 1: The master line item has a master quantity that all the
component quantities must be multiplied by.

Property 2: The master line item sometimes has a marking that also must
appear on all component lines.

The master lines and component lines can be distingished from each other
easily. The master lines have a line item number (not quantity) in column A.
It is sequenced line item 1, line item 2, line item 3, etc. The component
lines have nothing in column A.

Here is an example of what I have now:

ColA | ColB | ColC | ColD | ColE |
Line # | Qty | Description | Part # | Mark |
1 | 3 | MasterLine1 | ABC123 | H1 |
| 1 | Component1 | EFG123 | |
| 2 | Component2 | HIJ123 | |
2 | 2 | MasterLine2 | ABC123 | H2 |
| 1 | Component1 | EFG123 | |
| 2 | Component2 | HIJ123 | |


Here is what I want to end up with:
ColA | ColB | ColC | ColD | ColE |
Line # | Qty | Description | Part # | Mark |
1 | 3 | MasterLine1 | ABC123 | H1 |
| 3 | Component1 | EFG123 | H1 |
| 6 | Component2 | HIJ123 | H1 |
2 | 2 | MasterLine2 | ABC123 | H2 |
| 2 | Component1 | EFG123 | H2 |
| 4 | Component2 | HIJ123 | H2 |

Thanks in advance!

Scott