Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VBA中动态查找excel工作表中使用的第一个单元格?_Vba_Excel - Fatal编程技术网

如何在VBA中动态查找excel工作表中使用的第一个单元格?

如何在VBA中动态查找excel工作表中使用的第一个单元格?,vba,excel,Vba,Excel,遗憾的是,UsedRange中的第一个单元格可能没有实际使用。例如: info.Worksheets("sheet1").UsedRange().Select ActiveCell.SpecialCells(xlFirstCell).Select 然而: 其中,B2未使用。最好使用: Sub ExamineUsedrange1() MsgBox ActiveSheet.UsedRange.Address(0, 0) End Sub 这对我不起作用。如何找到它?工作表(“Sh

遗憾的是,
UsedRange
中的第一个单元格可能没有实际使用。例如:

info.Worksheets("sheet1").UsedRange().Select
    ActiveCell.SpecialCells(xlFirstCell).Select
然而:

其中,B2未使用。最好使用:

Sub ExamineUsedrange1()
    MsgBox ActiveSheet.UsedRange.Address(0, 0)
End Sub

这对我不起作用。如何找到它?
工作表(“Sheet1”)。使用drange.Cells(1)。选择
即使B2没有值,也可以看到Excel如何保持B2的使用状态。你的答案很好,你获得第一个真正使用的单元格的方法非常有用。谢谢分享
Sub ExamineUsedrange2()
    Dim r As Range
    Set r = Cells.Find(What:="*", _
                    After:=Cells(Rows.Count, Columns.Count), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlNext, _
                    MatchCase:=False)
    MsgBox r.Address(0, 0)
End Sub