2017-06-08 7 views
1

Excel VBAでExcelブックのコンテンツを読む機能があります。Outlook VBA Excelワークシートの最後の行を見つけよう

私が苦労している部分は、列の最後の行(この例では列A)を見つけることです。強調表示されたブロックの1行目には、ワークシートのA1セルの内容が正しく表示されていますが、2行目にはエラー「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 
+0

'エンド(xlApp)' - あなたは 'エンド(xlUpを)'意味するものではありませんか? (または、おそらく 'End(xlApp.xlUp)'?) – YowE3K

+0

私は '終わり(xlUp)'、良いコールを意味しました。しかし、 'End(xlUp)'や 'End(xlApp.xlUp)'は動作しません。以前の結果は「エラー424 - オブジェクトが必要」、後者が「エラー438 - オブジェクトはこのプロパティまたはメソッドをサポートしていません」 –

+1

Microsoft Excelライブラリへの参照はありますか?そうでない場合は、自分自身で定数を定義する必要があります。つまり、 'End(-4162)' – YowE3K

答えて

2

あなたのコード内のExcelの定数を使用する能力を持っているしたい場合は、

のどちらかにする必要がありますA)をMicrosoft Excelへの参照を含めますオブジェクトライブラリ、または

b)独自の定数を作成する

End(-4162) 

または

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

これで動作しました。ありがとうございました。 –

関連する問題