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

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

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

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

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