Excel Addinを有効にするとカスタムボタンをリボンに追加しようとしています。ボタンは、アドイン内に保存されたサブを呼び出す必要があります。私はカスタムUIエディタを使用しており、ここで説明した方法に従っていますhttp://www.rondebruin.nl/win/s2/win001.htm。それはボタンを作成するために働いていますが、ボタンをクリックしてもマクロは呼び出されません。 "引数の数が正しくないか、プロパティが無効です"というエラーが表示されます。マクロ自体が正しく動作するので、ボタンの記述方法に問題があると想定しています。私が間違ってやっていることに関する考えは?以下のコードは、UIエディタ内のコードです。Addin内からマクロを呼び出すボタンを作成するカスタムUIエディタ
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabHome" >
<group id="customGroup1" label="My Group" insertAfterMso="GroupEditingExcel">
<button id="customButton1" label="Delete Totals" size="large"
onAction="DeleteBoldTotals" imageMso="HappyFace" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
私が試した他の変形は、ボタンが何らかの理由で表示されないようにすることです。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabHome" >
<group id="customGroup1" label="My Group" insertAfterMso="GroupEditingExcel">
<button id="customButton1" label="Delete Totals" size="large"
onAction=Application.Run "DeleteBoldTotals" imageMso="InkEraseMode" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
私はそれを呼び出す必要があるマクロは次のとおりです。
Option Explicit
Sub DeleteBoldTotals()
Dim vFIND As Range, vFIRST As Range, delRNG As Range
Dim ws As Worksheet
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
Set vFIND = ws.Cells.Find("Total", LookIn:=xlValues, LookAt:=xlPart)
If Not vFIND Is Nothing Then
Set vFIRST = vFIND
Do
If vFIND.Font.Bold = True Then
If delRNG Is Nothing Then Set delRNG = vFIND Else Set delRNG = Union(delRNG, vFIND)
End If
Set vFIND = ws.Cells.FindNext(vFIND)
Loop Until vFIND.Address = vFIRST.Address
If Not delRNG Is Nothing Then
delRNG.EntireRow.Delete xlShiftUp
End If
Set vFIND = Nothing
Set vFIRST = Nothing
Set delRNG = Nothing
End If
Next ws
End Sub
マクロは、その署名が重要であるため、共有してください... – DAXaholic