我在ThisWorkBook下编写了一个VBA代码,以便在打开Excel文件时代码自动运行。代码使用xlDown
选择动态范围,然后根据选择为工作簿添加名称。检查以下代码:
Private Sub Workbook_Open()
Sheets("sheet1").Range("E2", Sheets("sheet1").Range("E2").End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="DateList", RefersTo:=Selection
End Sub
我很确定我写得正确,但我收到如下错误信息:
运行时错误'1004':选择范围类失败的方法
此错误消息突出显示第二行:
Sheets("sheet1").Range("E2", Sheets("sheet1").Range("E2").End(xlDown)).Select
当我使用相同的选择方法来清除相同的范围时,它可以正常工作,如下所示:
Sheets("sheet1").Range("E2", Sheets("sheet1").Range("E2").End(xlDown)).Clear
答案 0 :(得分:1)
使用它:
With Sheets("sheet1")
ActiveWorkbook.Names.Add "DateList", .Range("E2:E" & .[E:E].Find("*", , , , , xlPrevious).Row)
End With
答案 1 :(得分:1)
除非下面有 不 想要的数据,否则我会选择xlUp
以防止出现仅 E2中的值:
With Sheets("sheet1")
ActiveWorkbook.Names.Add "DateList", .Range(.Cells(2, 5), .Cells(.Rows.Count, 5).End(xlUp))
End With