
(現状、ローカルウィンドウ・ウォッチウィンドウは利用不可)
1. Excel 2016 for Mac で現状利用可能なデバッグ環境
2. ブレークポイントの利用方法
「広告」
(16) イミディエイトウィンドウは既に利用可能!
(現状、ローカルウィンドウ・ウォッチウィンドウは利用不可)
Excel メニューバーの [ヘルプ] - [更新プログラムのチェック] にて、適用されていないアップデートがあれば行ってください。 Excel 2016 for Mac 環境での説明となりますので、 Mac版 Excel 2011 では( VBA が利用できますが )同じ結果にならない場合があるかもしれません。
現状、 VBE 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)
( ユーザー定義関数 のVBAコードを含んだ)前回使用した XLSM ファイルを、「マクロを有効」にして開きます。
[ alt ] + [ F11 ] にて VBE を開き、 Module1 内の SelectColorIndex() プロシージャを表示します。
1. Excel 2016 for Mac で現状利用可能なデバッグ環境

プログラムコードが想定外の結果を返す場合に、その原因を突き止めて修正・改善することを「デバッグ」と言います。
また、そのための開発環境を「デバッガ」と呼び、VBE には「デバッガ」も内蔵されています。
ただ、 Excel 2016 for Mac の VBE 環境は「デバッガ」を含め、まだ一部のみしか利用できません。
リリース開始直後に比べ、「更新プログラム」適用で少しまともにはなりましたが…
「デバッガ」においても イミディエイトウィンドウ は現状利用可能ですが、 ローカルウィンドウ ・ ウォッチウィンドウ がまだ利用できません。
2. ブレークポイントの利用方法
プロシージャが終了するとその中で使用していた変数を確認できなくなるため、コード実行途中の変数の値を見るには コードを止める必要 があります。
コードを一時停止したいコード上の「行」を、 ブレークポイント と言います。
停止させたい行をクリックした後、6個並んでいる「一番左側のボタン」にてブレークポイントの設定/解除が可能。
(コード行の「赤枠」の部分のクリックで、ブレークポイントの設定/解除も可能)

上記のように イミディエイトウィンドウ から call selectcolorindex()
入力後に [ return ] キーにて Subプロシージャの実行が可能。
繰り返し回数が少しで済むように、ColorIndex に「3」を入力して [OK] ボタンをクリック。

ブレークポイント 設定行でコードが中断されるため、イミディエイトウィンドウ内で Debug.Print (省略形は ? ) ステートメントを利用して変数の値を参照する。
? objRange.Address(False, False)
A1
コードの実行を再開するため、6個並んでいる「左から2個めのボタン」をクリック!

? objRange.Address(False, False)
B1
コードの実行を再開するため、6個並んでいる「左から2個めのボタン」をクリック!

? objRange.Address(False, False)
結果が表示されずに上記のエラー画面が表示される理由は、既に Exit For が実行され、このSubプロシージャの実行が終了しているからです。
(文字列変数 str に "C1" が代入された)

その証拠として、「C1」セルが選択されています。
ブレークポイント行でコードを途中停止後、1行ずつコードを実行することも可能です。
6個並んでいる「右から3個めのボタン」 ステップオーバー を通常利用します。
「ステップオーバー」と「ステップイン」の違いは、自プロシージャのみ1行ずつコードが実行されるのが 「ステップオーバー」で、「ステップイン」は他プロシージャも含めて1行ずつコードが実行されます。
ぜひ、「ステップオーバー」で1行ずつ実行して、最後に 文字列変数 str が "C1" となることを確認してみてください。
また、6個並んでいる「左から3個めのボタン:リセット」にてプログラムコードの中断も可能ですので、デバッグ作業を途中で終了したい場合や何かおかしくなった場合に使用します。
一番右の「ステップアウト」ボタンは、該当プロシージャ内でのデバッグ作業が必要なくなった時、そのプロシージャを最後まで実行し呼び出し元のプロシージャに戻ります。
次は、 MsgBox 関数のオプション設定に関し、 Excel 2016 for Mac にて検証します。
お疲れ様でした!
[command] + [Q] にてExcel を終了時、「作業中のブック」を保存するか確認のダイアログ画面が表示されるため 「保存」しましょう。
現状、 VBE 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)
最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル
広告
「広告」
コメント
コメント一覧 (1)
[1] 子フォルダを含め、フォルダ内の全ファイル名の取得
[2] テキストファイルの入出力
[3] PDFファイル内の全テキストを抽出
https://mac-excel-vba.blogspot.com/search/label/AppleScriptTask
新ブログは 通称 Cocoa AppleScript と呼ばれる ASOC ( AppleScript Objective-C ) にも手をつけています!