Эй,
Вы просто ищете помощь по алгоритму?
Ну, вы могли бы сделать что-то вроде следующего:
Dim range, cell as Range
Dim rowDesiredOutputTable
Set range = ActiveSheet.Range("D5:F9")
Set rowDesiredOutputTable = 15
for each cell in range
if Not(cell.value = vbNullString) Then
WIth ActiveSHeet
' for adding the company and country
.Range("B" & rowDesiredOutputTable).Value =.Cells(cell.row, 2).Value
.Range("C" & rowDesiredOutputTable).Value = .Cells(cell.row, 3).Value
End with
If cell.Column = 4 Then
ActiveSheet.Range("D" & rowDesiredOutputTable).Value = "5 yr"
Else if cell.column = 5 Then
'here for 10 yr
else
'here for 15 yr
end if
ActiveSheet.Range("E" & rowDesiredOutputTable).Value = cell.Value
End if
next cell
Ну, я думаю, чтокод является улучшаемым, но он просто дает вам представление, как решить эту проблему.