-1

谁能帮我?我有这个语法

Dim oExcel As Variant
Dim oWB As Variant

'Set oWB = CreateObject("Object.Workbook")
Set oExcel = CreateObject("Excel.Application")
Set oWB = oExcel.Workbooks.Open("Z:\MPR\Maret 2017\31 - 03 -2017\DF\PAL - DF.xlsx")
oWB.Sheets(1).select
Dim oNumRow As Integer

'oNumRow = oWB.Sheets(1).UsedRange.Count
With oWB
    oNumRow = oWB.Sheets(1).Cells(oWB.Sheets(1).Rows.Count, "A").End(xlUp).row 'error
End With
oNumRow = oWB.Sheets(1).Cells(oWB.Sheets(1).Rows.Count, 1).End.row 'error
oNumRow = oWB.Sheets(1).Range("A1", oWB.Sheets(1).Range("A1").End(xlDown).row).Rows.Count'error

如果我将其更改 Dim oExcel As Variant为 Dim oExcel As Excel.Application,则会出现程序错误。任何人都可以提出任何想法吗?我是为宏编程 vba 的新手

4

1 回答 1

0

如果您没有在 Excel VBA 中运行代码,或者以其他方式引用了 Microsoft Excel 对象库,则该库中定义的任何常量都不可用于您的代码。您必须自己设置它们的值。

您可以将以下行添加到代码的开头:

Const xlUp As Long = -4162
Const xlDown As Long = -4121

它们是我在您发布的代码中可以看到的唯一两个常量,但是,如果您还有其他常量,它们也应该添加到您的代码中。

于 2018-01-17T19:21:16.113 回答