2017-12-29 9 views
-1

セル内のカスタム関数を含む個々のセルを同じ列に手動でコピーして貼り付けているときに、Excel 2016で#N/Aエラーがランダムに発生しています。#NAエラーExcelのセル内機能をコピー/ペーストする

セルA1、A3、およびA10には、同じセル内機能が含まれています(正常に動作します)。

セルA1、A3、およびA10をセル内関数の値(結果)に置き換えます。

標準のコピー&ペースト値操作は、個々のセル、つまり範囲選択では使用しません。簡単でしょう、そうですか?

コピー/ペーストの値はセルA3では動作しますが、A1またはA10では動作しません。

セルの書式設定は、すべてのセル、つまり#N/Aエラーが発生するセルだけでなく動作するセルでも同じです。私はすべての細胞で同じことをやっています。

セルA1とセルA10で操作を繰り返すと、時々動作し、それ以外では動作しません。

これはイライラしています。私はそれが働くことを決定するまで操作を繰り返すことを試みる余裕がない。

私はどうやって何をすべきですか?ここ は、セルの数式で参照されているUDFコードです:

Function example(Myrange As Range) As String 


Dim regEx As New RegExp 
Dim strPattern As String 
Dim strInput As String 
Dim strReplace As String 

strPattern = "^(\d{6})(-)(Smith)(\D*?)\s*(\d{4}\D)" 

If strPattern <> "" Then 
    strInput = Myrange.Value 
    strReplace = "$1(ZT$5) $2$3 $5$4" 

    With regEx 
     .Global = True 
     .MultiLine = True 
     .IgnoreCase = False 
     .Pattern = strPattern 
    End With 

    If regEx.Test(strInput) Then 
     example = regEx.Replace(strInput, strReplace) 

    Else 
     example = Myrange.Value 
    End If 
End If 
End Function 
+0

値だけを貼り付けていますか?エラーと引数を与える式は何ですか? – Magnetron

+0

UDFの最初の行にブレークポイントを設定します。これにより、エラーの発生場所を特定できます。 –

+0

はい、値だけを貼り付けています。私は、関数を含むセルをクリックし、コピーを選択し、特別な値を貼り付けてからEnterキーを押します。標準は正しい?数式はカスタムセル内関数であり、各セルで同じです。私は思っていない数式は非常に意味がありますが、いずれの場合でも:= example(B2)です。ここで "example"はVBAのユーザー定義fxで、セルB2にはこの場合はテキスト文字列が含まれています。 –

答えて

0

私が自動から手動にExcelの数式の計算オプションを変更し、コピー&ペーストの値の操作が今一貫し動作します。

+0

あなたのUDFが揮発性であることを意味します。コードを見れば、それを非揮発性にする方法を提案することができたので、この特異な問題を解決するためにアプリケーション全体の設定を変更する必要はありませんでした。 –

+0

追加の説明をありがとう。投稿された質問を編集してUDFコードを追加します。おそらく、あなたは不揮発性にする方法を提案することができます。 –

関連する問題