如何解决如何在VBA中获取范围的第一个非空白单元格的列字母?
我需要获取范围的第一个非空白单元格的列字母。这个范围基本上是一行的一部分。
示例: 范围 = A2:G2 第一个非空白单元格在 F2 单元格上。 需要获取 'F' 并将其存储在 String 变量中。 获得它的最有效方法是什么?
谢谢
解决方法
试试这个:
Sub columnName()
Dim mainRange As Range,cell As Range,columnName As String
Set mainRange = Range("A2:G2")
'Set mainRange = Selection
For Each cell In mainRange.Cells
If Not IsEmpty(cell.Value) Then
MsgBox Split(cell.Address,"$")(1)
Exit For
End If
Next cell
End Sub
,
您可以使用函数获取该列字母:
Function firstBlankCol(rg As Range) As String
Dim x
If rg(1) = "" Then
x = rg(1).Address
Else
x = rg(1).End(xlToRight).Offset(0,1).Address
End If
firstBlankCol = Split(x,"$")(1)
End Function
但是,通常更简单的方法是处理列号,并将其用于 Cells
属性的列参数。
Function firstBlankCol(rg As Range) As Long
Dim x
If rg(1) = "" Then
x = rg(1).Column
Else
x = rg(1).End(xlToRight).Column + 1
End If
firstBlankCol = x
End Function
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。