トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 次なるイノベーション編: 第28話「安全なプログラムとは」1/4 :どんな配列ができる?

やってみよう!Excel VBAで業務改善! 次なるイノベーション編|第28話 「安全なプログラムとは」

どんな配列ができる?

「………ん?
……ちょっと待てよ。
これって…B3セルに値がないとき、変数KeyWrdには、どんな配列ができるんだろう……??」

森川くんは、首をかしげて画面をのぞき込みます。
先ほどからチラチラと、森川くんの様子をうかがっていた岬さんは、
たまりかねて彼のもとに駆け寄りました。

「どうしたの?森川くん」

「あ、先輩。…実は…」

森川くんは、疑問に感じていることを岬さんに尋ねます。

「ふーん、なるほど。
…ならステップ実行して、ローカルウィンドウで変数の値を確認すればいいじゃない」

「あっ、その手がありましたね」

森川くんは[F8]キーを押し、検索プロシージャをステップ実行します。
Split関数で、空の文字列を変数に格納したところで、ローカルウィンドウを確認しました。

「あら?
…別にエラーは起きないのね」

「変な値が、インデックスに入ってますね」

「う~~ん。
ヘルプにはなんて書いてあるかしら?」

岬さんがSplit関数のところにカーソルを移動し、[F1]キーを押します。

「どれどれ…?
"引数expressionが長さ0の文字列("")である場合、
Split関数は、要素もデータもない空の配列を返します"……だって。
おそらくUBound関数が"-1"を返すから、Forループ内の検索処理は実行されないと思うけど……。
こういうのは、あまりよくないわねえ」

「……あまり、よくないっスか?」

岬さんは腕を組むと、フンと鼻を鳴らしました。

「そうね。
そもそもB3セルが空のときは、検索ワードが入力されていないのだから、検索を実行させてはダメよ」

一覧にもどる