Возможно, вы также захотите установить этот аргумент как необязательный, чтобы вы могли продолжать запускать подпрограмму, например, из отладчика.

ние: я написал несколько коротких макросов Excel (протестировано, они работают нормально) и хочу связать их с кнопкой на ленте (Excel 2010). Я уже сделал это успешно в Excel 2007. Я использую Custom UI Editor для создания новой ленты, которая также отлично работает. Все упаковано в надстройку .xlam и добавлено в Excel. Лента хорошо видна, все остальные кнопки работают, но ...

Проблема: когда я нажимаю кнопку, которая связана с макросом, я получаю сообщение об ошибке: «неверное количество параметров или присвоение свойства недопустимо» (сообщение, переведенное с итальянского, может не совпадать с английским)

Информация об устранении неполадок: макросы не имеют параметров. Эти же макросы могут быть успешно вызваны и выполнены вручную. Я даже могу добавить те же макросы на панель быстрого доступа.

Вот конкретная часть скрипта ленты:

<group id="DupNumber" label="Number" insertBeforeMso="GroupNumber" >  
    <comboBox idMso="NumberFormatGallery"/> 
    <box id="HN1" boxStyle="horizontal"> 
        <buttonGroup id="HNButtonGroup1"> 
            <button id="Euro" onAction="Roberto.xlam!EURZ" imageMso="F" supertip="text ..."/> 
            <button id="EuroNZ" onAction="Roberto.xlam!EURNZ" imageMso="E" supertip="text ..."/> 
            <button idMso="PercentStyle"/> 
            <button id="Comma" onAction="Roberto.xlam!NewCommaFormat" imageMso="C" supertip="test ..."/> 
            <button idMso="PercentStyle"/> 
        </buttonGroup> 
    </box>

и вот макросы:

Sub EURZ()
    Application.ActiveCell.NumberFormat = "€ #,##0.00"
End Sub
Sub EURNZ()
    Application.ActiveCell.NumberFormat = "€ #,##0"
End Sub
Sub NewCommaFormat()
    Application.ActiveCell.NumberFormat = "#,##0"
End Sub

Можешь мне помочь? Спасибо роберто

Ответы на вопрос(1)

Ваш ответ на вопрос