给定图像...如果我知道有一些数据从 Range("B3") 开始。
如何找到单元格 E3 之前具有连续数据的单元格?由于 F3 为空白,因此不应考虑 G3 及以后的内容。
结果可以是范围对象 (B3:E3) 或单元格计数(在本例中为 4)。
通过将 B3 设置为事件单元格并执行...
Range(ActiveCell, ActiveCell.End(xlToRight).Count
我确实得到了计数,但是这种方法并不可靠,如果只有 B3 有数据,它就会对单元格进行计数,直到工作表末尾。
当然,这也可以通过循环单元格来实现,但我宁愿使用工作表函数或其他一些有效的方法。
最佳答案
您似乎正在尝试确定从单元格 B3 开始的一行中使用的连续列数。
下面的代码将根据您的数据返回 $B$3:$E$3 和 4 的值。如果只有单元格 B3 有数据,它将返回 $B$3 和 1。
Sub GetDataArea()
Dim strCellToTest As String
Dim rngMyRange As Range
Dim lngColumns As Long
strCellToTest = "B3"
lngColumns = ActiveWorkbook.ActiveSheet.Range("" & strCellToTest).End(xlToRight).Column - 1
If lngColumns >= 256 Then
Set rngMyRange = ActiveWorkbook.ActiveSheet.Range("" & strCellToTest)
lngColumns = 1
Else
Set rngMyRange = ActiveWorkbook.ActiveSheet.Range _
(strCellToTest & ":" & Range("" & strCellToTest).Offset(0, lngColumns - 1).Address)
End If
MsgBox "Columns: " & lngColumns & vbCr & vbLf & "Range: " & rngMyRange.Address
End Sub
关于excel - 如何在Excel VBA中查找连续数据的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592536/