如何使用VBA选择另一张纸上一列中的第一个空单元格

时间:2019-05-14 12:56:41

标签: excel vba

我对使用VBA非常陌生,我需要在第一张工作表(不是活动工作表)的B列中选择第一个空单元格。每当我尝试激活代码时,都会出现以下错误:

Cell.Select

我需要更改什么才能解决此问题?以下是我尝试使用的代码:

    Dim ws As Worksheet
    Set ws = Sheets("sheet1")
    For Each Cell In ws.Columns(2).Cells
        If IsEmpty(Cell) = True Then Cell.Select: Exit For
    Next Cell

1 个答案:

答案 0 :(得分:1)

您可以立即选择下一个空闲单元而无需循环:

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
ws.Cells(1, "B").End(xlDown).Offset(RowOffset:=1).Select

请注意,这将选择B列中的 next 空闲单元格(在下面的示例中为B4),而以下代码将在最后使用的 之后选择空闲单元格B列中的单元格(在下面的示例中为B14):

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
ws.Cells(ws.Rows.Count, "B").End(xlUp).Offset(RowOffset:=1).Select

但是请注意,使用.Select是一种不好的做法:您可能会从阅读中受益 How to avoid using Select in Excel VBA。如果要让用户看到现在已选择此单元格,请仅使用.Select

enter image description here