Excel:在第一个空单元格中打开

时间:2014-09-21 11:14:14

标签: excel excel-vba vba

每当我打开文档时,是否可以让Excel自动选择A列中的第一个空单元?

我有以下内容找到第一个空行:

ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Value + 1.Count, 1).End(xlUp).Value + 1

2 个答案:

答案 0 :(得分:0)

为了让Excel在您打开工作簿时选择A列中的第一个空单元格,您需要将以下代码放在ThisWorkbook模块中。

Private Sub Workbook_Open()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ws.Cells(ws.Rows.Count, 1).End(xlUp).Offset(1, 0).Select
End Sub

这将选择ActiveSheet中的第一个空单元格。如果您的工作簿中有多个工作表,并且您想要选择特定工作表中的第一个空行,例如Sheet1,则应将第二行代码更改为:

Set ws = ActiveWorkbook.Sheets("Sheet1")

答案 1 :(得分:-1)

你可以做到这一点。 你需要编写VBA(宏)程序才能实现。

您需要的代码如下

Private Sub Workbook_Open() 
    ActiveWindow.Range("A65536").End(xlUp).Offset(1,0).Select
End Sub 

代码的含义是:

“Private Sub Workbook_Open()”是预定义的名称子例程,将在打开工作簿时执行。

“ActiveWindow.Range(”A65536“)。End(xlUp)”将找到包含A列中数据的最后一个单元格(“最后一个单元格”) “ActiveWindow.Range(”A65536“)。End(xlUp).Offset(1,0)”将移动到“last cell”旁边的单元格,这将是第一个空白单元格。 ActiveWindow.Range(“A65536”)。End(xlUp).Offset(1,0).Select将选择第一个空白单元格。

我假设您使用Excel 2003或更早版本,或者工作表中包含数据的行数小于65536。 如果您使用Excel 2007或更高版本,并且工作表中的数据行超过65536,请将65536修改为足以覆盖工作表中行的值。