オフィス-エクセルの使い方エクセルではマクロが利用できます。マクロはVBAと呼ばれるプログラム言語を使ってより自由度の高いカスタマイズが可能となります。ブロック変数が設定されていません94:Nullの使い方が不正424:オブジェクトが必要ですマクロを使うには?エクセルのマクロとは?コンピュータやプログラミングでは、プログラムの命令を記録したものなどにマクロという言い方をします。Basicを使って作成したプログラムのことをマクロといいます。いつもいつも同じ手順で繰り返しているような処理や関数で記述すると大変になる場合、マクロを使って処理できるようにすると事務も効率化できるでしょう。マクロを使う準備は?まず「ファイル」メニューから、「オプション」を選びます。オプションが出たら、左側の項目から「リボンのユーザ設定」を選びます。右側にある「開発」のチェックボックスをオンにします。すると、「開発」メニューが表示されます。リボンから「ビジュアルベーシックエディター」や「マクロ」といった機能をワンクリックで呼び出せるようになります。マクロが動作するか確認するには?実際にエクセル2016でマクロを使ってみて、マクロが動作するか確認してみましょう。ここでは「ハローワールド」という文字をダイアログだけのプログラムを実行します。タブがない場合にはオプション設定を確認しておきましょう。Basic」をリボンで選びます。するとビジュアルベーシックエディターが起動します。project」というものが作られます。これは「マクロ」全般を含みます。「マクロ」ではいろんなファイルを使う場合がありますから、プロジェクトが1つの管理単位となります。ファイルを入れるフォルダーのようなもの考えるとわかりやすいかもしれません。そのプロジェクトの中には「Sheet1」というファイルがあるので右クリックします。「コードの表示」を選びます。「Sheet1」をダブルクリックするだけでもOKです。ここに文字列を入れます。Subカーソルがまだ文字入力の画面に残った状態で「F5」キーを押します。するとプログラムが実行されます。下記のように表示されます。表示されたら「OK」を押してダイアログを閉じます。Subとマクロの命令を書いていくのが基本となります。マクロ・VBAの不具合マクロが動かない場合は?マクロがうまく動かない、有効にできないという場合には以下チェックしてみましょう。「オプション>セキュリティセンター>セキュリティーセンターの設定>マクロの設定」でマクロのオプションを選択します。絶対安全なファイルであることが確実という場合には「すべてのマクロを有効にする」をチェックし、マクロが動作するように設定することができます。毎回マクロの確認がでるとうざい!という場合、特定の場所においたファイルはマクロの確認をださなくすることができます。「信頼できる場所」で「新しい場所の追加」で特定のフォルダを追加しましょう。保護ビューネットから落としたファイルについては、セキュリティの関係で自動的に保護ビューにセットされる場合があります。保護ビューでは、マクロ実行に制限がかかります。そこで、「オプション>セキュリティセンター>保護ビュー」で、「インターネットから取得したファイルに対して保護ビューを有効にする」のチェックをはずしたり、「安全でない可能性のある場所のファイルに対して、保護ビューを有効にする」のチェックをはずしてみましょう。そのうえで再度ファイルをダウンロードして開いてみましょう。エクセルを最新版に保つマクロを実行してフリーズやクラッシュが起きる場合、DLLのバージョンが古かったというケースもあります。バグが改善されている可能性もありますので、エクセルのプログラム自体を最新の状態に保っておきましょう。「ファイル>アカウント>Officeの更新プログラム」から確認できます。ウィンドウズアップデートマクロが有効かできず、原因がウィンドウズアップデートにあったというケースが報告されています。今まで使えていたの急に動かない場合には、最近ウィンドウズアップデートがなかったかチェックしてみるのもいいかもしれません。VBAが文字化けする?どうもエクセル自体が文字エンコードにはあまり強くない印象です。いえVBAで文字化けの場合には以下の設定を確認しておきましょう。「コントロールパネル>地域>場所の設定」を実行します。「ユニコード対応ではないプログラムの言語」で「システムロケールの変更」を押して日本語に設定をしておきましょう。マクロが保存されない?エクセルには「.xlsx」や「.xlsm」といったファイルの保存方式があります。「.xlsm」はマクロ有効なエクセルで、「.xlsx」だとマクロは保存されません。間違えて「.xlsx」形式で保存してしまうと、マクロの情報がなくなってしまうことになります。安全ではない可能性?ネットからダウンロードしたエクセルファイルでマクロが含まれている場合にこのような警告が表示されます。エクセルのマクロは強力なので、セキュリティにかかわる不具合を生じる可能性がないとはいえません。官公庁のようなところの提供するエクセルファイルなら、まずは大丈夫かとは思います。身元の不明なところからダウンロードしたファイルを開く場合はかなり注意したほうがよいでしょう。ありませんVBAでは、「GoSub」を使って「Sub1:」のようにラベルを定義した場所へ処理を移動させることができます。GoSubを使った書き方を今一度確認してみましょう。引数の数や書き方が違う場合のエラー。関数によっては「引数で0以上を書かないといけない」などの決まりがあります。文法的に正しいかいまいちど確認してみましょう。計算した値が型以上の数値を扱う場合などに発生します。2147483647」です。大きい値を扱うにはLongやDouble型などを利用します。最初からVariant型として計算するのもいいかもしれません。場合によっては、仮想メモリを増やす、他に起動しているアプリを閉じる...などのメモリ自体の確保を試すのもよいでしょう。7:メモリが不足フォームやモジュールにはの最大サイズが64KBという制限があるため、1つのフォームに集中して書きまくるとよくないかもしれません。配列など大量のデータを扱う場合にも注意が必要です。インデックスが有効範囲内にありませんVisualBasicのプログラム上のエラー。配列で範囲外へアクセスする場合などに表示されます。最初に配列数を確認してから参照する....のように記述するとエラーは防げます。数学では数は0では割れないのでエラーになります。計算前に、割る数が0かどうかチェックするとこの手のエラーは防げます。Sub13:型が一致しないVBでは真か偽化を扱う「Boolean」、文字を扱う「String」、日付を扱う「Date」などいろいろな型があります。エラーの場合は、型変換するよう意識しないといけません。14:文字列領域が不足システムメモリの不足がないか確認。想定外に多量の文字データを扱っていないかチェックしてみましょう。浮動小数点式のネストが制限を超える場合に起きるエラー。17:要求された操作は実行できません実行中モジュールをプログラムで変更しようとした場合のエラー。28:スタック領域が不足スタック領域では関数の実行手順などを記憶します。「再帰呼び出し」が多すぎたりするとスタック領域がオーバーフローしてしまいます。プログラムが実行される手順について今一度見直してみましょう。Function...EndFunctionは基本的な書き方です。53:ファイルが見つかりません参照するためのファイルをあとで削除したり場所を移動してしまうことがあります。OnErrorでファイルが見つからない場合の処理も記述しておくのをおすすめします。55:ファイルは既に開かれていますファイルを開いて、終了後は閉じるよう意識しましょう。62:ファイルにこれ以上データがありませんファイルの読み込みでのエラー。EOF関数やLOF関数でファイルの終わりを確認するようにするとエラーは防げると思います。ブロック変数が設定されていませんオブジェクト変数にSetで正しくデータを入れましょう。94:Nullの使い方が不正Nullを型変換なく代入しようとしてエラーになる場合があります。Variant型へデータを格納する、など型で問題が起きないよう見直してみましょう。424:オブジェクトが必要ですオブジェクトにはSetで正しくデータを入れてから利用しましょう。はてなブログPro困ったことを調べたブログの管理人です。困ったことを調べたブログを運営しています。専門は困ったことを調べることです。趣味は困ったことを調べることです。(5)検索このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。正確性を期していはいますが、間違い・誤訳等あるかもしれません。困ったからつくってみたソフトスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。