It almost looks like it is working until it bugs here:

Set SourceRange = .Offset(1).Resize(.Rows.Count - 1)