VBATips

【解決】「intelier.ColorIndex 」で実行時エラー438オブジェクトは、このプロパティまたはメソッドをサポートしていません。が出る【ExcelVBA】

実行時エラー’438’オブジェクトは、このプロパティまたはメソッドをサポートしていません。

Public Sub Sample()
  Rows(10).intelier.ColorIndex = 15
End Sub

こちらのコード、実行すると下記のエラーが出ます。

実行時エラー’438′:
オブジェクトは、このプロパティまたはメソッドをサポートしていません。

オブジェクトに対するプロパティかメソッドが間違っていますよーと教えてくれています。
筆者はこのエラーを解消するのに20分格闘したことがあるので、備忘録として残します。

 

ひとつのミスでプログラムは動かなくなる

では、上記コードのプロパティの部分を確認しましょう。

intelier  Interiorですね。
これが上記のように短文であれば、すぐに気づくのですが
しっかりしたプログラムだと文字数がかなりのボリュームになります。
その中から一つのスペルミスを探すとかなりの時間を要する可能性があります。

プログラミング言語は全て英語です。
なにせコンピュータはイギリス人が発明したものですから、英語が使われています。
アルファベットを日本語に無理やり充てているローマ字のせいで、混乱してしまいますが
日本人が言う「インテリア」は intelier でも interia でもなく interior なのです。
interior と書かない限り、そもそも違う単語だと認識されてしまいます。

当然ですがコンピュータは一文字違えば意思疎通ができません。
たったひとつのケアレスミスでプログラムは動きません。

皆さんも、入力する際は十分に注意してください。

 

何度も誤入力をしてしまうときは

慣れないうちは機械の力を借りてしまいましょう。
VBEには便利な機能があります。(初期設定はオンになっています)

入力補助機能

単語を途中まで入力して、Ctrl+スペースを押すと予測変換を出してくれます。
その中から該当するものを方向キーで選択し、Tabで確定します。

単語の後に「.(ドット)」を付けるような構文は、ドットの後の候補を勝手に出してくれます。
ただし上記の Rows(10) や Cells(1,1) のようにカッコを挟むと入力補助ができない場合があります。
面倒ですが Rows. のように先にドットを入力すると予測変換が現れるはずです。

入力補助機能や構文チェックはオフにもできます。

VBEの上部メニュー「ツール」から「オプション」を選択するとチェック欄が表示されますので
好みの設定に切り替えてください。

コメント

タイトルとURLをコピーしました