Как да излизат аргумнтите и описанието на UDF, когато са във Personal Macro Workbook?
Здравейте,
прилагам процедурите, които работят нормално в други проекти и модули на VBA, но когато ги преместя в Personal.xlsb не мога да изпълня втората процедура, а дава грешка. Къде е проблема?
Public Function Sum_MyNumbers_UDF(rng As Range, numb As Integer) As Double
Dim rng_cell As Range
For Each rng_cell In rng.Cells
If rng_cell.Value Mod 2 = numb Then
Sum_MyNumbers_UDF = Sum_MyNumbers_UDF + rng_cell.Value
End If
Next rng_cell
End Function
Sub Sum_MyNumbers_UDF_Descriotion() Dim f_name_marco As String Dim f_description As String Dim f_category Dim f_arguments(1 To 2) As String
f_name_marco = "Sum_MyNumbers_UDF" f_description = "Сумира само четните(0) или само нечетните(1) числа" f_category = 14 f_arguments(1) = "Диапазон" f_arguments(2) = "0-четни числа,1-нечетни числа" Application.MacroOptions Macro:=f_name_marco, _ Description:=f_description, _ Category:=f_category, _ ArgumentDescriptions:=f_arguments
End Sub
Здравейте, причината да не работи описанието за UDF в Personal.xlsb e в името на макроса, аргумента f_name_macro="Sum_MyNumbers_UDF". Записано по този начин, компилаторът търси макроса в активния файл, в който въвеждате функцията. Personal.xlsb e отделен файл. Ето защо преди името на макроса, трябва специално да посочите, че се намира в Personal.xlsb f_name_macro="'Personal.xlsb'!Sum_MyNumbers_UDF" Обърнете внимание, 'Personal.xlsb' се загражда в единична кавичка, цялото име - в двойна кавичка, а удивителната отделя името на функцията. Това е една особеност на метода Application.MacroOptions, когато се прилага в Personal.xlsb
Благодаря!