Select first empty cell in column F starting from row 1. (without using offset )

excel, vba

Solution

If all you're trying to do is select the first blank cell in a given column, you can give this a try:

Code:

Public Sub SelectFirstBlankCell()
    Dim sourceCol As Integer, rowCount As Integer, currentRow As Integer
    Dim currentRowValue As String

    sourceCol = 6   'column F has a value of 6
    rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row

    'for every row, find the first blank cell and select it
    For currentRow = 1 To rowCount
        currentRowValue = Cells(currentRow, sourceCol).Value
        If IsEmpty(currentRowValue) Or currentRowValue = "" Then
            Cells(currentRow, sourceCol).Select
        End If
    Next
End Sub

Before Selection - first blank cell to select:

After Selection:

Problem

This is one query that I am really confused with. Coz I have looked for this so many times but I always find the codes related to finding the last used or first non empty cell. Tried at below codes. diff codes have been separated by the word "even" ``` iRow = Worksheets("Sheet1").Cells(Rows.Count,1).End(XlUp).Row ``` even ``` Sub LastCellBeforeBlankInColumn() Range("A1").End(xldown).Select End Sub ``` even Find the very last used cell in a Column: ``` Sub LastCellInColumn() Range("A65536").End(xlup).Select End Sub ``` even Find the last cell, before a blank in a Row: ``` Sub LastCellBeforeBlankInRow() Range("A1").End(xlToRight).Select End Sub ``` even Find the very last used cell in a Row: ``` Sub LastCellInRow() Range("IV1").End(xlToLeft).Select End Sub ``` even ``` Worksheets("Sheet1").Range("A1").End(xlDown).Row + 1 ``` even ``` LastRow = Range("A" & Rows.Count).End(xlUp).Row + 1 Sheets("SheetName").Range("A" & LastRow).Paste ``` even ``` Dim FirstBlankCell as Range Set FirstBlankCell=Range("A" & rows.Count).end(xlup).offset(1,0) FirstBlankCell.Activate 'Find the last used row in a Column: column A in this example Dim LastRow As Long Dim NextRow As Long With ActiveSheet LastRow = .Cells(.Rows.Count, "F").End(xlUp).Row End With NextRow = LastRow + 1 ```

Original source

Related problems