Give this a try
Option Explicit
Sub abc()
Dim aArrClean() As Variant
Dim a, i As Long, n As Long, sSku As String, sDesc As String, sAct As String
With Worksheets("Copy of Sage Valuation Report a")
a = .Range("a3", .Cells(Rows.Count, "a").End(xlUp).Offset(, 6))
End With
ReDim aArrClean(1 To UBound(a), 1 To 7)
For i = 1 To UBound(a)
If IsEmpty(a(i, 1)) And IsEmpty(a(i, 2)) Then
'Do nothing
Else
If Not IsEmpty(a(i, 1)) And Not IsEmpty(a(i, 2)) Then
sSku = a(i, 1)
sDesc = a(i, 2)
sAct = a(i, 3)
Else
n = n + 1
aArrClean(n, 1) = sSku
aArrClean(n, 2) = a(i, 1)
aArrClean(n, 3) = sDesc
aArrClean(n, 4) = sAct
aArrClean(n, 5) = a(i, 4)
aArrClean(n, 6) = a(i, 5)
aArrClean(n, 7) = a(i, 6)
End If
End If
Next
Worksheets.Add
With Cells(1).Resize(, 7)
.Font.Bold = True
.Value = Array("SKU", "LOC", "Description", "Active", "Cost", "Qty", "Value")
End With
Cells(2, 1).Resize(n, 7) = aArrClean
Columns.AutoFit
End Sub
Bookmarks