Ok, the below code copies rows with values only into an other sheet.
Sub exa()
Dim lLRow As Long
With Sheet1
lLRow = .Range("A" & Rows.Count).End(xlUp).Row
If Not lLRow > 1 Then Exit Sub
.Range("A2:A" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy _
ThisWorkbook.Worksheets("Sheet2").Cells(2, 1)
End With
End Sub
But Copying entire row is expanding the table on he other sheet across columns. how do I limit to copy only the columns that have values? or choose a range of columns that need to be copied?