У меня есть функция, написанная на Visual Basic, которая должна читаться в двух книгах Excel и для некоторого текстового анализа по ним.
Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь запустить функцию в ячейке на своем листе, я получаю сообщение об ошибке «Требуется постоянное выражение» в VBA и «#VALUE!»ошибка в ячейке.
Моя строка функции выглядит как
Function CriticalPercentage() As Double
, и я вызываю функцию, набирая "= CriticalPercentage ()" в ячейке.
Когда я нажимаю клавишу ввода после ввода моегоВызов функции в ячейке идет на VBA, показывает сообщение об ошибке, а Function CriticalPercentage() As Double
подсвечивается желтым цветом.Он также выделяет синим цветом .Count
в самой последней строке следующего кода, который я предоставил из своей функции.
Function CriticalPercentage() As Double
Debug.Print "the first line works fine"
ByVal WorkbookName1 As String, ByVal WorkbookName2 As String
' this section accesses the excel files and sheets the script will be working with
WorkbookName1 = "name of excel file"
WorkbookName2 = "name of excel file"
Workbooks.Open WorkbookName1
Workbooks.Open WorkbookName2
' define variables for the the two workbooks
Dim Workbook1, Workbook2 As Excel.Workbook
Dim Worksheet1, Worksheet2 As Excel.Worksheet
' create workbook objects to work with
Set Workbook1 = Excel.Workbooks(WorkbookName1)
Set Workbook2 = Excel.Workbooks(WorkbookName2)
' sets worksheet variables to the sheets contained in the two workbooks, respectively
Set Worksheet1 = Workbook1.Sheets(1).Select
Set Worksheet2 = Workbook2.Sheets(1).Select
'---------------------------------------------------------------------------------------
' this section of code works on reading in all the neccessary info from the ARCHER excel file
' search for [Application Name & Finding]
Dim i, j, k As Integer
Dim numRows As Integer
Const numRows = Worksheet1.UsedRange.Rows.Count
Я пытался поместить оператор Debug.Print
сразу после Function CriticalPercentage() As Double
, но он не отображается в ближайшем окне, поэтому меня убеждают, что я делаю что-то не так в декларациифункция.
Буду признателен за любую помощь в этом и любое понимание того, почему я получаю эту ошибку.если потребуется предоставить дополнительный код, я с удовольствием это сделаю.
Большое спасибо!