Dim rCheck As Range, Rng As Range, rCopyLocn As Range
With Sheets("Sheet1") 'Set Data Range Set rCheck = .UsedRange.Offset(1, 1).Resize(.UsedRange.Rows.Count - 1, .Used Range.Columns.Count - 1) 'Set Receive Range Set rCopyLocn = Sheets("Sheet2").Range("C1") 'check data for blanks and copy For Each Rng In rCheck If Rng <> "" Then rCopyLocn.Value = Rng.Value rCopyLocn.Offset(0, -2).Value = .Cells(Rng.Row, 1).Value rCopyLocn.Offset(0, -1).Value = .Cells(1, Rng.Column).Value Set rCopyLocn = rCopyLocn.Offset(1, 0) End If Next End With End Sub