Excel VBA查找行中第一个空白单元格的列名称
我在excel工作。 我需要能够find从列A开始的第20行的第一个空白/空单元格。返回应该是实际的列名称。 AB,AAD等。我要做的是将一个值粘贴到这个单元格中。 这是一张绿色突出显示的图片。
Dim wkb As Excel.Workbook Dim wks2 As Excel.Worksheet Dim strMSG As String Dim LastRow As Long Set wkb2 = ThisWorkbook Set wks2 = wkb2.Sheets("Daily") columnNumber = wks2.Cells(20, wks2.Columns.Count).End(xlToLeft).Column
您的查询: –
find行中的第一个空白/空单元格
没有回答你的代码wks2.Cells(20, wks2.Columns.Count).End(xlToLeft).Column
。 这是一个微妙但显着的差异。
.End(xlToLeft)
或.End(xlUp)
通常用于查找行/列中最后使用的单元格,这是一个常见的要求。 要查找第一个使用的单元格,您可能要检查每个单元格,或根据范围内的所有空白单元格创build一个范围,然后查看该范围中的第一个项目。
下面的代码为我做了,并且列引用作为一个字母。
Public Sub Sample() Dim wkb2 As Excel.Workbook Dim wks2 As Excel.Worksheet Dim strMSG As String Dim StrColumn As String Set wkb2 = ThisWorkbook Set wks2 = wkb2.Worksheets("Daily") StrColumn = Replace(wks2.Range("20:20").SpecialCells(xlCellTypeBlanks).Cells(1, 1).Address, "$", "") StrColumn = Left(StrColumn, Len(StrColumn) - 2) Set wks2 = Nothing Set wkb2 = Nothing End Sub
我有一个函数将列号转换为它的字母,但我会尝试将其转换为简单的代码。
dim colLetter as string Dim vArr vArr = Split(Cells(1, columnNumber).address(True, False), "$") colLetter = vArr(0)
我不确定它的独立运作情况如何。 我使用的function是:
Public Function Col_Letter(lngCol As Long) As String Dim vArr vArr = Split(Cells(1, lngCol).address(True, False), "$") Col_Letter = vArr(0) End Function
我知道这是有效的。 使用任何你喜欢的!