在第一行中找到第一个空白列



在Excel中使用VBA,我需要在电子表格的第一行中找到具有空或空白单元格的第一列。

我找到了这篇文章,它涵盖了如何找到在给定列中具有空或空白单元格的第一行。我尝试使用此逻辑来查找一行中的第一个空列,但无法这样做。

这就是我尝试从我找到的帖子中调整逻辑以获得我想要的东西的方式,但它不起作用:

Sheets(targetWorksheet).Range("A1").End(xlToRight).Offset(1, 0).Column

我能够将这些代码放在一起,这确实使我获得了第一行中具有空或空白单元格的第一列,但它似乎非常笨拙,必须有更好的方法。

Dim blah As String
cellColumns = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
For x = 0 To 3
blah = Sheets(targetWorksheet).Range(cellColumns(x) + "1").Value
If blah = "" Then
MsgBox (cellColumns(x)) ' cellColumns(x) gives the column letter I'm looking for
Exit For
End If
Next

与往常一样,正确、解释清楚的答案将被标记为接受的答案并投赞成票。

提前感谢!

首先要感谢@BigBen,用于确定在第 1 行中的所有数据之后查找第一个空单元格的标准。

我更喜欢Find方法来识别第 1 行中的第一个空单元格或列。

您可以将第一个空单元格指定为 Range 变量或列变量,具体取决于您计划如何使用它。

Find方法将在第一行中找到第一个空单元格;如果行中没有空白单元格,它将在所有包含数据的单元格之后选择空单元格。如果在实际最后一列之前有一个空白单元格,它将选择第一个空单元格。

将第一行中的第一个空单元格指定为 Range 变量...

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("targetWorksheet")
Dim FirstEmptyCell As Range: Set FirstEmptyCell = ws.Cells.Find(What:="")
FirstEmptyCell.Select

将第一行中的第一个空单元格指定为列变量...

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("targetWorksheet")
Dim FirstEmptyCol As Long: FirstEmptyCol = ws.Cells.Find(What:="").Column
ws.Cells(1, FirstEmptyCol).Select

Sheets(targetWorksheet(。范围("A1"(。结束(xlToRight(。偏移量(0, 1(。列

最新更新