UDFを作成する方法を既に知っているので(そして、Excelにそれらを適用しようとしたことを願っています)、ユーザー定義の関数が機能していない場合に何ができるかをもう少し深く掘り下げてみましょう。
カスタム関数を作成するときにいくつかの問題を解決するには、デバッグを実行する必要がある可能性が高いです。次に、関数が正しく機能していることを確認できます。
次のデバッグテクニックを探ります。
カスタム関数を作成すると、間違いを犯す可能性が常にあります。通常、カスタム関数は非常に複雑です。そして、彼らは常にすぐに正しく働き始めるとは限りません。式は、誤った結果または#valueを返す場合があります!エラー。標準のExcel関数とは異なり、他のメッセージは表示されません。
各ステートメントの仕組みを確認するために、カスタム関数を段階的に段階的に進める方法はありますか?もちろん!これにはデバッグが使用されます。
カスタム関数をデバッグする方法をいくつか提供して、自分に合った機能を選択できるようにします。
例として、指定された値の範囲の最大数を計算する以前の記事の1つから、カスタム関数を使用します。
関数引数は、数値が書かれているセルの範囲と、値の上限と下限です。
MSGBOX機能を重要な場所に配置します
計算の実行を監視するために、正しい場所の画面上の最も重要な変数の値を表示できます。これは、ポップアップダイアログボックスを使用して実行できます。
MSGBoxは、ユーザーに何らかのメッセージを表示するために使用できるダイアログボックスです。
MSGBOXの構文は、他のVBA関数に似ています。
msgbox(prompt [、buttons] [、title] [、helpfile、context]))プロンプトは必要な引数です。ダイアログボックスに表示されるメッセージが含まれています。また、個々の変数の値を表示するためにも使用できます。
他のすべての引数はオプションです。
[ボタン] - どのボタンとアイコンがmsgboxに表示されるかを決定します。たとえば、オプションvbokonlyを使用すると、 [OK]ボタンのみが表示されます。この引数を見逃したとしても、このボタンはデフォルトで使用されます。
[タイトル] - ここで、メッセージボックスのタイトルを指定できます。
単語から切り替えて練習し、デバッグを開始しましょう。メッセージを表示するには、次の行をCase Else Operatorの前にGetMaxBetheeineユーザー定義関数のコードに追加します。
これが結果に得られるものです:
ダイアログボックスでVMAX変数を使用して、どの数値が選択の基準を満たしているかを確認して、それらの最大を選択できるようにします。タイトルバーの「count-」&iの式を使用すると、最大値を決定するために既に選択した数字の数を示します。カウンターは、新しい値ごとに増加します。
UDFセットを設定したら、以下の式を日付範囲に適用します。
= GetMaxBetween (A1:A6,10,50)
Enterボタンを押すと、以下のスクリーンショットのようにメッセージが表示されます。
これは、基準を満たしている範囲A1:A6の最初の数値です。10を超えて50未満です。
[OK]をクリックすると、数字14で2番目のメッセージが表示されます。残りの数値は選択基準と一致しません。したがって、関数は2つの値のうち最大の17を終了して返します。
MSGBox関数は、個々の変数の値がどのように変化するかを制御するために、カスタム関数の最も重要な場所で使用できます。メッセージボックスは、大きな機能と多くの計算がある場合に非常に便利です。この場合、エラーが発生するコードのどの部分で発生するかを簡単に判断できます。
停止ポイントを決定し、段階的に実行します
コードの実行が停止する関数のコードにブレークポイントを追加できます。したがって、計算プロセスに段階的に従うことができます。そうすることで、変数の値がどのように変化するかを見ることができます。
ブレークポイントを追加するには、一時停止を選択したステートメントを含むラインにカーソルを配置します。次に、右クリックして[デバッグ] - > [ブレークポイントを切り替える]またはF9を押します。また、関数コードの左側にある垂直灰色の領域にある目的の場所をクリックすることもできます。
以下のスクリーンショットにあるように、赤い円が表示されます。計算が停止されるコードラインは赤で強調表示されます。
これで、機能が実行されているときにVBAエディターウィンドウが開きます。カーソルは、停止した時点に配置されます。
マウスカーソルを関数コードの変数のいずれかにホバリングすると、現在の値を確認できます。
F5を押して計算を続行します。
注記。ブレークポイントの後、計算の進行の追跡を段階的に追跡することができます。 F8ボタンを押すと、VBAコードの次の1行のみが実行されます。矢印のある黄色の線も、最後に実行されたコード位置に移動します。
関数の実行が再び一時停止されるため、マウスカーソルを使用して関数のすべての変数の現在の値を表示できます。
F8の次のプレスは、私たちを一歩前進させます。したがって、計算の終了までF8を押すことができます。または、 F5を押して、次のブレークポイントまで計算を続行します。
エラーが発生した場合、エラーが発生したコードのポイントでカーソルが停止します。また、ポップアップエラーメッセージも表示されます。これにより、問題の原因を簡単に判断できます。
指定したブレークポイントは、ファイルを閉じるまで適用されます。再開するときは、再度設定する必要があります。最も便利な方法ではありません、あなたは思いませんか?
ただし、この問題は解決できます。必要なポイントで停止ステートメントを関数コードに挿入すると、ブレークポイントを使用するときと同じようにプログラムの実行を停止できます。
VBAがSTOPステートメントに遭遇すると、プログラムの実行を停止し、アクションを待ちます。変数の値を確認し、 F5を押して続行します。
または、 F8を押して、上記のように関数を段階的に満たします。
STOPステートメントはプログラムの一部であるため、ブレークポイントの場合のように削除されません。デバッグが完了したら、自分で削除してください。または、単一の引用( ')で前にコメントに変えます。
debug.printオペレーターを使用したデバッグ
debug.printを正しい場所にfunctionコードに配置できます。これは、周期的に変化する変数の値をチェックするのに役立ちます。
以下のスクリーンショットで、debug.printのパフォーマンスの例を見ることができます。
ステートメントdebug.print i、vmaxは値とその順序数を印刷します。
即時のウィンドウには、選択した範囲から2つの数値(17と14)が表示されます。これは、設定された制限に対応し、そのうち最大値が選択されます。数字1と2は、関数が数値が選択された2サイクルを完了したことを意味します。 MSGBoxで以前に行ったように、最も重要な変数の値が表示されます。しかし、これは機能を止めませんでした。
手順から関数を呼び出します
ワークシートのセルからではなく、手順からユーザー定義の関数を呼び出すことができます。この場合、すべてのエラーがVisual Basic Editorウィンドウに表示されます。
手順からユーザー定義の関数getMaxbergeenを呼び出す方法は次のとおりです。
カーソルをコードのどこにでも配置し、 F5を押します。関数にエラーがない場合は、計算結果のあるポップアップウィンドウが表示されます。
エラーの場合、VBAエディターに対応するメッセージが表示されます。計算は停止され、エラーが発生したコードラインが黄色で強調表示されます。エラーが発生した場所と理由を簡単に識別できます。
それだけです。これで、独自のアドインを作成し、Excelに追加して、UDFを使用できます。より多くのUDFを使用する場合は、VBAエディターのアドインモジュールにコードを記述して保存してください。
それは今日のためです。カスタム関数をデバッグするさまざまな方法をカバーし、ワークブックで使用する方法を学びました。これらのガイドラインが役立つことを本当に願っています。ご質問がある場合は、この記事にコメントを書いてください。
以上がExcelでカスタム関数をデバッグする方法を学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このチュートリアルでは、中央値関数を使用してExcelの数値データの中央値を計算する方法について説明します。 中央傾向の重要な尺度である中央値は、データセットの中央値を識別し、中央の傾向のより堅牢な表現を提供します

マスターグーグルシートcountif:包括的なガイド このガイドでは、Googleシートの多用途のCountif機能を調査し、単純なセルカウントを超えてそのアプリケーションを実証しています。 正確な一致や部分的な一致から漢までのさまざまなシナリオをカバーします

このチュートリアルは、さまざまな方法、アクセス制御、競合解決をカバーするExcelワークブックを共有するための包括的なガイドを提供します。 Modern Excelバージョン(2010、2013、2016、およびその後)共同編集を簡素化し、mの必要性を排除します

このチュートリアルでは、.xlsファイルを.jpg画像に変換するためのさまざまな方法を調査し、ビルトインWindowsツールと無料のオンラインコンバーターの両方を網羅しています。 プレゼンテーションを作成したり、スプレッドシートデータを安全に共有したり、ドキュメントを設計したりする必要がありますか?ヨーヨーを変換します

このチュートリアルは、Excel名の機能を明確にし、セル、範囲、定数、または式の名前を定義する方法を示します。 また、定義された名前の編集、フィルタリング、削除もカバーしています。 Excelの名前は、信じられないほど便利ですが、しばしばOverloです

このチュートリアルは、標準偏差と平均の標準誤差の区別を明確にし、標準偏差計算のための最適なExcel関数を導きます。 記述統計では、平均および標準偏差は内在的です

このExcelチュートリアルでは、正方形の根とNth Rootsを計算する方法を示しています。 平方根を見つけることは一般的な数学的操作であり、Excelはいくつかの方法を提供します。 Excelの正方形の根を計算する方法: SQRT関数を使用します

Googleシートのパワーのロックを解除:初心者向けガイド このチュートリアルでは、MS Excelに代わる強力で多目的な代替品であるGoogleシートの基礎を紹介します。 スプレッドシートを簡単に管理し、重要な機能を活用し、コラボレーションする方法を学ぶ


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版
中国語版、とても使いやすい

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









