Outlook VBA在Excel工作表中找到最后一行

时间:2017-06-08 01:17:18

标签: excel vba excel-vba outlook

我在Outlook VBA中编写了一个涉及从excel工作簿中读取内容的函数。

我挣扎的部分是找到一列中的最后一行(本例中的A列)。当突出显示的块中的第一行正确显示给定工作表中A1单元格的内容时,第二行给出错误" 424" - 所需对象。

对此问题的任何建议都将不胜感激。

Public Function openExcel()



    Dim xlApp As Object
    Dim sourceWorkBook
    Dim sourceWorkSheet


    Dim cellVal As String
    Dim lastRow As Long


    Set xlApp = CreateObject("Excel.Application")

    With xlApp
        .Visible = True
        .EnableEvents = True
    End With

    Set sourceWorkBook = xlApp.Workbooks.Open("C:\SAMPLEPATH\Template.xlsx")
    Set sourceWorkSheet = sourceWorkBook.Worksheets("Sheet1")
    sourceWorkBook.Activate


    With Activesheet
        cellVal = sourceWorkSheet.Cells(1, 1)
        lastRow = sourceWorkSheet.Cells(.Rows.Count, "A").End(xlUp).Row
    End With



    sourceWorkBook.Save
    sourceWorkBook.Close
    xlApp.Quit



End Function

1 个答案:

答案 0 :(得分:3)

如果您希望能够在代码中使用Excel常量,则需要

a)包含对Microsoft Excel对象库的引用,或

b)创建自己的常量,例如

End(-4162)

Const xlUp As Long = -4162
...
... End(xlUp)