0

ユーザー定義の VBA 関数があります。この関数は結果を返しますが、セルのコメントも設定します。動作し、結果が得られ、コメントが設定されます。

この機能に関するユーザー ヘルプが含まれています。ただし、ユーザーが Fx をクリックしてヘルプを表示すると、Excel がクラッシュします。セル コメントの設定をコメント アウトすると、ヘルプが機能します。含め"On Error"ても問題は解決しませんでした。

問題は、Excel が "Fx" ヘルプから関数を実行しているときに、セル コメントを設定できないことにあると思われます。事実上、セルが存在しないためです。

Excel が "Fx" ヘルプ画面から関数を実行していることを検出し、コメントの設定をスキップするために使用できる Excel のフラグはありますか?

他のアイデアは大歓迎です。

UDF によって呼び出されるコメントを設定するコード:

Sub SetRangeComment(rng As Range, comment As String, intHeight As Long, intWidth As Long)

    On Error GoTo IgnoreError

    rng.ClearComments
    rng.AddComment comment
    If intHeight > 0 Then
        rng.comment.Shape.height = 13 * intHeight
    End If
    If intWidth > 0 Then
'    rng.comment.Shape.width = 6 * intWidth
    End If
    Exit Sub

IgnoreError:
    Exit Sub
End Sub
4

1 に答える 1

0

何かのようなもの:

Public Function MyUdf()
    MsgBox TypeName(Application.Caller)
    MyUdf = "X"
End Function

ただし、UDF を使用してコメントを作成することはお勧めしません。

于 2015-06-30T19:13:15.617 に答える