Как да използваме Sub и Function процедури в други екселски файлове: Personal Macro Workbook.xlsb 

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
В Personal Macro Workbook.xlsb включваме неограничен брой модули и процедури, които ще бъдат достъпни за всички файлове на Excel
Вярно
Не вярно
 
За приложението MS Excel има само един единствен файл Personal Macro Workbook.xlsb 
Вярно
Не вярно
 
Файлът Personal Macro Workbook.xlsb се създава автоматично, когато в него запишем макрос.
Вярно
Не вярно

Въпроси и отговори

  • Как...

    Румен Драганов:

    Кой е най-удобният начин за прехвърляне на presonal.xlsb при преминаване към следваща версия на excel?

    Димитринка Вълкова:

    Ако версията на Windows не се променя, би трябвало да се запази personal.xlsb в директорията: 

    C:\Users\AppData\Roaming\Microsoft\Excel\XLSTART\Personal.xlsb,
    \Users\ - е потребителският акаунт.
    Коя е новата версия на excel?
    Румен Драганов:

    Въпросът ми беше принципен. Дали при преинсталиране на Ексел се запазва или трябва ръчно да се прехвърля preronal.xlsb след това.

    Благодаря за отговора!
    Димитринка Вълкова:

    По-добре е ръчно да се прехвърли personal.xlsb. Не винаги насоките на Microsoft са точни :-)


  • Как да излизат аргумнтите и описанието на 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