vbaexcelspreadsheet

Excel VBA code to select non empty cells


In Excel, let's I have data in B2 to B7 and C2 to C7 . In VBA I can write a macro to select it:

Sub Macro1()
Range("B2:C7").Select
End Sub

How do I rewrite the code so that it chooses automatically the cells that are non-empty? If I delete the data in cell B7 and C7 then I want the macro to select only Range(B2:C6) And if I add data to Cell B8 and C8 then I want the macro to choose Range(B2:C8).

My data will always start a B2,C2 and I will not have any free space between data.


Solution

  • your data always start at B2,C2 and has no empty cell inbetween? If so you can set a variable to be the "last filled in row"

    lastRow = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
    Range("B2:C" & lastRow).Select
    

    and define the range from B2 to the C"last row"