鍵締めたっけ?ガス大丈夫かな?と不安に。健史(たけふみ)です。パソコンをお使いの方の多くは、表計算ソフトExcelを利用されていると思います。この記事は、Exceは知っているけれど・Excel-VBAって何?・Excel-VBAは取っ付きにくい!・Excel-VBAって難しそう!と言った方へ「Exce-VBAを始めるきっかけ」になればと思います。記載したプログラムをそのままコピー・ペーストし、データを入力すれば、すぐに動作するようになっています。見ているだけでは覚えせん。実際に自分の手を動かし、失敗しながらでもやらないと身に付きません。やって見て、Excel-VBAの開き方、実行方法に慣れることが必要です。そのため、手を動かしてほしいがための記事にしました。ここにもう少し書きたいのですが、長くなってしまうので「3.イントロダクション(導入部)の続き」に分けました。当記事のExcelバージョンは「Excel2003」によるものです。Excel2003より後のバージョンをお使いの方は、以下ご認識下さい。再確認イントロダクション(導入部)の続きプログラムの作成と実行とにかく、Excel-VBAに触って動かしてみましょう。初回のサンプルプログラムはセル[A1]~[A10]に10~100までを入力し、セル[A11]に合計「550」を計算するプログラムです。実行までの手順1.Excelを起動2.データ入力Book1のセル[A1]~[A10]に10~100までを入力します。3.Excel-VBAを起動Altを押した状態でF8キーを押します。4.[マクロ名(M):]に'test'と入力(''は不要、''内のtestを入力)TESTでもSUMでも構いません。し指定できない文字列もあります。'select'は指定できず、'select1'とかにすればOKです。5.[作成(C)]をクリック私はマクロ名を入力したら、そのままEnterを押します。Sub以下のようになればOKです。Sub7.F5キーで実行8.実行結果の確認Book1に切り替えて下さい。Altを押した状態でTabキーを押して、Book1に位置づいたらTabキーを離すことで切り替わります。Book1のセル[A11]に「550」が表示されていればOKです。Excelシートとプログラムの関係まず、Excelシートとプログラム内で定義されている項目名との関係を説明します。Cells(1,1)はセル[A1]のことです。()内1の番目は縦の行番号、2番目は横の列番号を表します。Worksheets(1)は、1番左のシートで、(2)は2番目のシート、(3)は3番目のシート、以降同様です。1)」とシートとセルを'.’(ピリオド)で繋げれば参照できます。プログラム内でWorksheetsの指定を(1),(2)・・と書いた場合には注意が必要です。プログラムを書いた後に手でExcelのシート1番目と2番目を入れた場合には、プログラムで参照するシート()内を変更する必要があります。シート名は変更してもプログラムを修正する必要はありません。()内を名称にしたい場合には、""で囲んで記述します。「シート名1」というシート名であればWorksheets("シート名1")と記述します。シート名であれば、プログラムを書いた後に手でシート1番目と2番目を入れた場合でも、プログラムで参照するシート()内を変更しなくてもOKです。その代わり、シート名を変更した場合には、プログラムで参照するシート("")内を変更する必要があります。フローチャート最初から最後まで、全体のフローチャートです。10」の部分で、マーキングした処理が内部で自動生成されます。15」と記述すると、自動的に1がプラスされてNextの後のiは「16」になっています。・変数について今回は1つだけ[i]という変数を定義しました。使用する変数はフローチャートを作成する過程で、どんな変数が必要か分かります。慣れてくればフローチャートを作成せずに、プログラムを書きながら必要な変数を都度定義していくようになれます。1」に代え説明します。1]をコンピュータ内の演算装置という場所で計算する1.Aの内容を演算装置にセットして、2.1をプラス2.その後、演算装置の内容を左項[A]にセットするということです。まとめとにかく、手を動かしてやってみて欲しいのです。大したことはありませんから。再度ポイントをおさらいします。Excel-VBの起動と実行の流れ1.Excelを起動後にExcel-VBAを起動Altを押した状態でF8キーを押してExcel-VBAを起動し[マクロ名(M):]にマクロ(=プログラム名)を入力して[作成(C)]をクリックするです。再確認1.プログラム内で使う変数をDim文で定義2.参照するシートとセル、変数を使って処理を記述するです。参照するシートとセルの記述方法は、Worksheets(n).Cells(x,y)または、Worksheets("シート名").Cells(x,y)Worksheets(n)の'n'は、シートを左から数えた番号です。番号は数字を直接書いても変数でもOKです。Worksheets("シート名")は、記述されているシート名、この場合は""で囲みます。Cells(x,y)のxは、縦の行番号、yは横の列番号で、数字を直接書いても変数でもOKです。イントロダクション(導入部)の続きかく言う私、正直言ってExcel-VBAは、食わず嫌いでした。Excelを15年以上使ってきて「せっかくパソコンを使っているのにデータを自由に扱えないかな?」と思い付き、あるサイトを見ながら学習しました。活用してみたら、今は楽しくなりました。・VLOOKUPを使って、IF関数で等しい・等しくないものに"〇,×"を入れて、そしてフィルタで"#N/A"や"〇,×"データを抽出・省いてとか、毎回面倒!・条件が1つではなく、複数の条件を指定してデータを抽出したり省きたいんだけど・対象シート内で加工編集・抽出するのではなく、別のシートにデータを抽出したいなど実現したい方は、一度やって頂ければと思います。慣れてくれば、現場で「こんなことできないかな?」といったことを実現できます。自分で作ったプログラムが思い通りに動いた時は、どんな小さなことでも感動するものです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。VBAスポンサーリンクプロフィールはじめまして、健史(たけふみ)と申します。このブログにお越し頂き、ありがとうございます。私は若いころから不摂生な生活を送ってきたために、いろいろな病気や慢性痛になりました。天ぷらを食べても胃もたれ・胸やけしない!油を変えてみた2018.04.242018.07.28玄米、1日1食でも効果あり。自分で改善.メニューホーム記事一覧プロフィールお問い合わせホーム検索トップサイドバースポンサーリンクプロフィールはじめまして、健史(たけふみ)と申します。このブログにお越し頂き、ありがとうございます。私は若いころから不摂生な生活を送ってきたために、いろいろな病気や慢性痛になりました。天ぷらを食べても胃もたれ・胸やけしない!油を変えてみた2018.04.242018.07.28玄米、1日1食でも効果あり。シートの内容を比較して異なる部分を出力2019.06.29凝りの原因は筋肉の使い過ぎと神経の圧迫の2通り、対処方法は異なる2018.11.172019.05.18寝起き、肩が痛くて腕が上がらない!肩痛の原因を10秒で治す2018.06.072018.09.22。