我是excel编码VBA的初学者。现在,我正在尝试编写一个非常简单的函数来计算外部工作簿文件的特定列中的特定单词,而无需打开它。 此功能将逐行读取。
这是我的代码。它在特定列中计为“n”。
Public Function ExceptNum(Path As String, Column As String) As Integer
Dim count As Integer
Dim LastRow As Integer
Dim WBook As Workbook
Dim i As Long
count = 0
Application.ScreenUpdating = False
Set WBook = Workbooks.Open(Path)
With WBook.Worksheets(1)
LastRow = .Range("A" & .Rows.count).End(xlUp).Row
For i = 1 To LastRow
If .Range(Column & i).Value = "n" Then
count = count + 1
End If
Next i
End With
WBook.Close SaveChanges:=False
ExceptNum = count
Application.ScreenUpdating = True
End Function
但是,当我在工作表中使用我的函数时,它返回#VALUE!。我不确定我做错了什么。代码可以在VBA代码本身中使用。但是在工作表中,它不起作用。
此外,此功能将读取数千个文件。我的功能是否高效且快速?