エクセルマクロ・VBA発展編1

◆必要な事前知識:「エクセルマクロ・VBA基礎編」修了レベル◆
ExcelマクロVBAのやや高度な抽象概念を学びます。

動画一覧

動画のサムネイルをクリックすると、この画面内で、動画が表示されます。

【動画1】 発展1講座イントロダクション - 使用するファイル、PDFの確認 - 39秒

講座で使用するPDFとデータの確認です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画2】 発展1講座イントロダクション - デバッグ イミディエイトウィンド - 9分51秒

プログラミングとテストの手法のうち、デバッグについて説明します。マクロをテストする方法で、イミディエイトウィンドに出力するという方法があります。変数の中身をチェックしたり、For next構文で、今、何行目を実行しているかを出力し、確認することができます。また、If文で指定した条件で処理したデータのうち、そのデータの氏名をイミディエイトウィンドに書き出すことができます。とても便利なテスト方法ですので、ぜひここで覚えてください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画3】 発展1講座第1章 - オープニング 第1章1 - 1分46秒

第1章では「データの型」と「変数」について説明します。基礎編でも学びましたが、変数を作るときの細かいテクニックなど、もう少し掘り下げて学んでいきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画4】 発展1講座第1章 - オープニング 第1章2 - 4分18秒

変数には「一般のデータ」型(名前のついた箱)と「オブジェクト」型(ニックネーム)があります。基礎編では、「Dim Ziritsu」などと変数を宣言しましたが、これはデータ型の変数となります。この章では、データ型のさまざまな条件設定について学んでいきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画5】 発展1講座第1章 - データの「型」1 - 10分43秒

変数宣言時に、データ型を指定する方法について説明します。

見積書の所定のセルに、「お見積額合計」という文字と、「合計金額」の値を入力するマクロです。変数宣言時にデータ型を指定していないとき、変数に間違えて違う型の値を入れていてもマクロは実行されてしまいます。そこで、変数宣言時に、データ型を指定することによって、あり得ない取り違いを防ぐことができます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画6】 発展1講座第1章 - データの「型」2 - 4分52秒

下記の「データ」型について説明していきます。
「As String 文字列型」
「As Date 日付型」
「As Long 長整数型」
「As Double 倍精度浮動小数型」
「As Boolean ブール型」
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画7】 発展1講座第1章 - 変数の初期値 - 2分50秒

変数の初期値について説明します。
変数は指定した「データ」型によって、変数を設定した段階で、初期値が自動的に決まるようになっています。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画8】 発展1講座第1章 - ハンガリアン記法 - 4分38秒

変数のネーミングルール、「ハンガリアン記法」について説明します。
例えば、Date型の変数なら、「Dim dFinal As Date」と変数の前に[d]、文字列のString型なら、Dim sCompany As Stringと変数の前に[s]をつけるやり方です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画9】 発展1講座第1章 - 変数宣言の強制1 - 3分55秒

Option Explicitの言葉の意味について説明します。
これは、プログラムを書くときに、「変数の宣言を強制する」というメッセージです。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画10】 発展1講座第1章 - 変数宣言の強制2 - 13分3秒

前回の「変数の宣言を強制する」ということについて、もう少し掘り下げていきます。

Option Explicit があると、変数の宣言は、「しなくてはならない」ですが、Option Explicit がないと、変数の宣言は、「してもしなくてもよい」となります。「してはならない」ではありませんので注意してください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画11】 発展1講座第1章 - 総称オブジェクト型 - 18分25秒

オブジェクト型には、「固有オブジェクト型」と「総称オブジェクト型」というものがあります。ここでは総称オブジェクト型から説明します。簡単にいうと、オブジェクトにニックネームを設定して、そのニックネームを使ってオブジェクトを操作することができるというものです。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画12】 発展1講座第1章 - 固有オブジェクト型 - 6分40秒

固有オブジェクト型について説明します。
総称オブジェクト型 As Object は、セル、シート、ファイル、図形など、どんなオブジェクトにも使えます。それに対し固有オブジェクト型は、より細かいオブジェクトの指定ができます。As Range で作った変数は、セルに対してニックネームを使用することができますが、セル以外のオブジェクトに対して使用しようとするとエラーが出ます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画13】 発展1講座第1章 - バリアント型 - 2分28秒

バリアント型で変数を宣言すると、一般のデータ型(名前の付いた箱)としても使用できるし、オブジェクト型(ニックネーム)としても使えます。「なんでもOK」と宣言することになります。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画14】 発展1講座第2章 - オープニング 第2章 - 3分48秒

第2章はオブジェクトについて学習していきます。

オブジェクトの状態を変えることを、「プロパティを『設定する』」、といいます。
オブジェクトの状態を調べることを、「プロパティを『取得する』」、といいます。

この章では、プロパティという概念とは違う、「メソッド」という概念についても話していきます。プロパティとメソッドを含めて「メンバー」という言葉もあります。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画15】 発展1講座第2章 - コレクション - 3分59秒

コレクションという概念について説明します。
コレクションとは、「同じタイプのオブジェクトの集合体」のことです。エクセルマクロで登場するコレクションは、セル、図形、コメント、行、ワークシート、ブックなどです。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画16】 発展1講座第2章 - コレクション(インデックス) - 5分35秒

コレクション(インデックス)について学びます。これまでWorksheets("Sheet1")と書いてきたのが、ここで説明する「コレクション(インデックス)」のことです。インデックスの部分には、名前か数字を指定できます。Worksheets("Sheet1") では、Worksheets がコレクション、Sheet1がインデックスということです。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画17】 発展1講座第2章 - コレクション(インデックス)の具体例 - 5分39秒

コレクション(インデックス)の具体例を見ていきます。

Worksheets("GetEnd1").Tab.Color = vbRed
すべてのシートの集合体の中のシート「GetEnd1」のタブの色を vbRed にする。

Worksheets(3).Tab.Color = vbBlue
すべてのシートの集合体の中の「前から3番目」のシートのタブの色を vbBlue にする、です。インデックスに数字を指定することもできます。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画18】 発展1講座第2章 - プロパティ 従属要素のオブジェクト - 9分6秒

メンバーには、「プロパティ」「メソッド」という2つの概念があります。ここでは、これまで学んできた「プロパティ」についてもう少し掘り下げていきます。
基礎編レベルでは、プロパティは「『値』として表現できるデータのことを指してきましたが、プロパティは、あるオブジェクトと関係するオブジェクトを指すこともできます。たとえば、従属要素のオブジェクトはプロパティ足り得ます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画19】 発展1講座第2章 - プロパティ 上位のオブジェクト - 7分1秒

上位にあるオブジェクトもプロパティとなります。
セルから見て上位にあるシートも、セルのプロパティとなります。シートから見たファイルも同様です。つまり、階層構造の下にも、上に行くときも、プロパティという言い方ができます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画20】 発展1講座第2章 - プロパティ 同レベルのオブジェクト - 7分19秒

セルとセル、シートとシートなど、同レベルにあるオブジェクトもプロパティとなります。あるシートの隣にあるシートを調べる、ということができます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画21】 発展1講座第2章 - プロパティ 値として表現できるデータ - 10分15秒

値として表現できるデータについて掘り下げて説明します。「.Value」プロパティについては、これまで説明してきましたが、ここでは、合計数を返す「.Count」、セルの行番号を数値で返す「.Row」、セルの列を数値で返す「.Column」というプロパティを紹介します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画22】 発展1講座第2章 - プロパティ Offset - 11分20秒

同レベルのオブジェクトを取ってくるプログラム「Offset」を紹介します。Offsetは、基準になるセルから、あるセルまでの相対的な位置関係を調べたり、取得したりできます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画23】 発展1講座第2章 - プロパティ Offsetの使い方 - 4分54秒

Offsetの便利な使い方を紹介します。
基礎編のレベルでは、「For Next構文」を使って、行番号を変数に設定して、行の繰り返し処理をすることはできましたが、横方向、列の繰り返し処理はできませんでした。

列の繰り返し処理は、Offsetを使えば可能になります。

もちろん、Offsetを使って、行の繰り返し処理も可能ですし、行、列の繰り返しも可能です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画24】 発展1講座第2章 - End プロパティの使い方 - 13分9秒

今回は End プロパティについて説明します。
Endプロパティは、指定されたセルが含まれる領域の終端のセルを示す Range オブジェクトを返します。エクセル上で、[Ctrl]+方向キー(↑、↓、←、→)の操作に相当します。

Endプロパティを使って、データの最終行の行番号を求められますので、毎月データ数が変わるデータを処理する場合などに利用できます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画25】 発展1講座第2章 - メソッド1 - 2分59秒

プロパティとメソッドを含めてメンバーといいますが、今回は、メソッドについて紹介していきます。オブジェクトにはプロパティという特徴があるだけじゃなくて、お願いされたことを実行するという機能があります。これがメソッドです。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画26】 発展1講座第2章 - メソッド2 - 9分8秒

メソッドの構文の基本パターン「オブジェクト .メソッド」の形を意識してください。

条件を指定するときは、
「条件名 := 具体的にやってほしいこと」
複数の条件がくるときは、「,」 で区切ることになっています。

メソッドと、プロパティの取得・設定との見分け方についても学んでいきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画27】 発展1講座第3章 - マクロの自動記録 イントロダクション - 9分35秒

エクセルマクロの自動記録について扱います。
マクロの自動記録とは、エクセル上で操作した手順を、そのままマクロのプログラムにしてくれる機能です。

たとえば、オートフィルタ、並べかえ、シートのコピー、グラフ作成など、どうマクロを書けばわからない場合は、マクロの自動記録でプログラムを書いてみます。ただ、自動記録で書かれたマクロには「独特のクセ」があります。このクセを理解して、マクロのコードを読めるようになるスキルを身に付ける必要があります。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画28】 発展1講座第3章 - マクロの自動記録 オートフィルタ1 - 7分53秒

マクロの自動記録を実行して、オートフィルタの操作を自動記録した後、プログラムの中身を見ていきましょう。
オートフィルタの設定、実行、解除の操作を自動記録していきます。

その前提として、Excel2003までの場合と、Excel2007以降の場合では、マクロの自動記録の操作の違いについても説明します。早く操作できるように、何度かマクロの自動記録を実行して、操作に慣れておきましょう。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画29】 発展1講座第3章 - マクロの自動記録 オートフィルタ2 - 13分37秒

前回作った、オートフィルタを作るマクロについて見ていきます。このマクロはちゃんと動きますが、このまま放置しておくと問題があります。問題と対処法について具体的に説明していきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画30】 発展1講座第3章 - マクロの自動記録 フォントの設定 - 19分1秒

フォントを変更するマクロを自動記録して、マクロの中身を見ていきます。フォントの変更を自動記録した場合、自分が設定した項目とは違う項目までマクロに記述されます。不要な部分は、原則、削除しますが、「コメントブロック」ボタンを利用して、コメントアウトする方法について説明します。
また、マクロで登場する「Withブロック」についても説明します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画31】 発展1講座第3章 - マクロの自動記録 カラーインデックス - 3分4秒

Excel2003で、マクロの自動記録で色を設定したときに記述される「ColorIndex」について説明します。エクセルマクロの世界では、主な色には背番号がついています。その背番号を使って、色を呼び出すことができます。エクセルマクロでは、「色は数字で呼び出せる」と覚えておいてください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画32】 発展1講座第3章 - マクロの自動記録 アンダースコア - 9分54秒

自動記録でマクロを生成した場合、アンダースコア「_ 」が出現する場合があります。エクセルマクロのプログラムでは、横長になりすぎたプログラムは、「 _ 」(半角スペース + アンダースコア)を挿入して、途中改行することができます。自動記録で、プログラムが長いと判断されると、この「 _ 」が自動的に挿入されるわけです。
この状態のままでは、可読性も低いので、まずは、自動改行されたプログラムを一行にして、一行の長いプログラムを改行していく作業が必要になります。タブでずらしてレイアウトを調整すると、さらに見やすくなります。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画33】 発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能 - 10分51秒

途中改行を取って、プログラムを一行にする練習をしていきます。途中改行を取るショートカットは、 [Back], [Delete], [End]。いきなりキーボードを触らずに、まずは10回、20回と口で唱えてください。次に、それぞれのキーを押すイメージを持ちながら、口で唱えてみましょう。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画34】 発展1講座第3章 - マクロの自動記録 途中改行2 - 9分1秒

[Back], [Delete], [End]のショートカットを使って、複数行のマクロを一行に、[Space], [ _ ], [Enter]のショートカットを使って、一行のマクロを途中改行して複数行のマクロにしていく練習をします。途中改行した部分を[Tab]でずらして、この部分が一行のマクロとわかるようにレイアウト調整もしておきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画35】 発展1講座第3章 - マクロの自動記録 並べ替え - 12分13秒

Excel2003までのバージョンを使って、自動記録しながら「並べ替え」をしてマクロを生成していきます。生成された一行のマクロは、「_ 」で途中改行されていますので、前回までに習ったショートカットで直していきます。注意してほしいのは、自動記録で作ったマクロが「操作を完全に再現できるとは限らない」ということです。自動記録で生成されたマクロには、変更が必要な場合があるということを覚えていてください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画36】 発展1講座第3章 - マクロの自動記録 個人用マクロブック - 6分44秒

個人用マクロブックの説明をします。個人用マクロブックとは、エクセル起動時に必ず読み込まれるエクセルファイルのことです。個人用マクロブックを利用する目的として、お気に入りのマクロの部品をため込んでおくと、いつでもモジュールを開いて、マクロをコピーできるので便利です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画37】 発展1講座第4章 - 論理演算子 イントロダクション - 7分33秒

第4章は、演算子と構造文の話を中心に進めていきます。

はじめに、下記の論理演算子について説明します。
And(積集合):演算子の左の条件が合う、かつ、右の条件が合っていれば True、そうでなければ False を返す
Or(和集合) :演算子の左の条件が合う、または、右の条件が合っていれば True、そうでなければ False を返す
Not(補集合):演算子の条件が合わなければ True、そうでなければ False を返す
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画38】 発展1講座第4章 - 論理演算子 解説 - 10分48秒

論理演算子「And」「Or」「Not」について、実際にマクロを動かしながら解説していきます。

条件Aと条件Bに対して、
A And B
A Or B
Not(A or B)

それぞれの結果をみていきます。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画39】 発展1講座第4章 - 構造文 イントロダクション - 1分12秒

これから構造文について説明していきます。基礎編ではくり返しの構造文「For Next」、条件分岐の「If文」という構文が出てきました。次回以降では、新たに3つの構文、「For Each構文」「Do Loop構文」「Select Case構文」について学んでいきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画40】 発展1講座第4章 - For Each構文 イントロダクション1 - 8分7秒

"For Each構文について説明します。
For Each構文は、「コレクション」の各要素を、ひとつずつ「順番に取り出して」処理していく、くり返し構文です。

エクセルマクロでは、下記のオブジェクトのコレクションが登場します。
セル:Range(""A2"")、ワークシート:Worksheets(""Sheet1"")、グラフ:Charts(""Chart3"")、ワークブック:Workbooks(""Book1.xls"") など。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画41】 発展1講座第4章 - For Each構文 イントロダクション2 - 13分31秒

For Each構文の作り方について説明していきます。
キモは、

Dim 変数(ニックネーム) As データ型
For Each 変数(ニックネーム) In コレクション

変数の宣言をするときのデータ型は「単数形」になり、
For Each構文の In の後のコレクションは「複数形」になります。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画42】 発展1講座第4章 - For Each構文 イントロダクション3 - 6分23秒

For Each構文を実際に書いていく前に、Debug.Print を使って、For Each構文のマクロの動き方を見ていきます。「開いているファイルにあるすべてのワークシート」からシートがひとつずつ取り出され、ニックネームが割り当てられます。その後、処理が実行されます。ワークシートが割り当てられるたびに、イミディエイトウィンドにシート名が表示されますので、その変化をよく観察してください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画43】 発展1講座第4章 - For Each構文 演習 - 8分2秒

実際にFor Each構文のマクロを書く演習です。
「ハナコのステップ」に従って、すべてのシートの色を変更するマクロを書いていきましょう。

まずは、「お団子を作る」。ひとつのシートの色を変更するマクロを書きます。

それから「ハナコのステップ」
・箱を作る
・中に入れる
・加工する

これで完成です。
変数をいろいろ変えながら、For Each構文を書いてみてください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画44】 発展1講座第4章 - For Each構文 伝票作成マクロ解説 - 5分27秒

取引先ごとの伝票を作るマクロです。
データのシート「main」と、伝票の雛型のシート「main1」があります。「伝票作成」ボタンを押すと、取引先ごとの伝票がシート別に作成され、「伝票消去」ボタンで、作成された伝票のシートが削除されていきます。

「伝票消去」のマクロは、For Each構文で、すべてのシートをひとつずつ調べていき、シート名の先頭が「main」でなければ、そのシートを削除します。すべてのシートを調べ、処理を実行するなどといったケースでは、For Each構文はとても便利です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画45】 発展1講座第4章 - For Each構文 セルのコレクション - 3分51秒

セルのコレクションに対して、For Each構文を使ったマクロを見ていきます。指定した範囲のすべてのセルを調べていって、一定条件を満たすときだけチェックをするというマクロです。

この範囲のセルをひとつずつ取ってきて、調べ、「値が40以上」という条件を満たせば処理を実行していきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画46】 発展1講座第4章 - For Each構文 カンニングペーパー - 5分16秒

For Each構文は、抽象的でとっつきにくく、オブジェクトの型によって書き方が変わるなど、覚えにくいです。そこで、実務で活用できるように、カンニングペーパーを用意しています。(マインドマップ P12)実務で使用するときは、カンニングペーパーを見ながら真似してください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画47】 発展1講座第4章 - Do Loop構文 概要 - 6分55秒

くり返しの構文「Do Loop構文」は、プログラムを書く段階では、何回繰り返すのか検討がつかない場合によく使われます。
例えば、桁数がバラバラの数字を「No-数字4桁」の文字列にしたい場合です。次回、Do Loop構文を使って、この作業をマクロで書いていきます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画48】 発展1講座第4章 - Do Loop構文 マクロの流れ - 9分4秒

セルの値「9」を「No-0009」という文字列にするマクロを見ていきます。
数字の文字数を調べ、4文字未満であれば数字の先頭に 0 をつけていき、文字数が4文字になるまで処理をくり返します。

Do Whileという構文が出てきますが、これは、「その後の条件が満たされている間は、Loop に挟まれた内容をくり返す」という構文です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画49】 発展1講座第4章 - Do Loop構文 4つのパターン - 11分22秒

Do Loop構文には下記の「4つのパターン」がありますので、順に説明します。

[1]
Do While 条件
Loop

[2]
Do Until 条件
Loop

[3]
Do
Loop While 条件

[4]
Do
Loop Until 条件
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画50】 発展1講座第4章 - Do Loop構文 マクロの強制終了 - 4分22秒

Do Loop構文でよくある失敗は、くり返しを指定する条件をちゃんと書けなくて、永久に Do 〜 Loop から抜け出せなくなるようなマクロを書いてしまうことです。

永久ループにはまった場合、マクロを強制終了してループから抜け出す方法を説明します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画51】 発展1講座第4章 - Exit For、Exit Do、Exit Sub - 9分50秒

くり返しの構文で、即座にループの終わりまで移動する「Exit For」と「Exit Do」、即座に End Sub まで飛ぶ「Exit Sub」について説明します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画52】 発展1講座第4章 - Select Case 概要 - 4分36秒

Select Case構文について説明します。

例えば、営業成績の数値に基づいて段階的に評価を入力していくような場合、Select Case構文を活用できます。
営業成績の平均の数値によって、下記のように評価します。
・105以上は「超優良店舗」
・100以上、105未満は「優良店舗」
・ 95以上、100未満は「やや問題」
・ 95未満は「一層努力」

まずは、マクロを見ていきましょう。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画53】 発展1講座第4章 - Select Case If文との比較 - 2分56秒

If文で書かれたマクロと、Select Case構文で書かれたマクロを比較してみると、

Select Case構文では、Select Case の後の Range("I2").Value が比較対象だとわかりやすいのに比べ、If文では、比較対象である Range("I2").Value が何度も登場し、非常にわかりにくくなります。

同じ比較対象に対して、何度も比較をしていくときは、Select Case構文が有効です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画54】 発展1講座第4章 - Select Case 比較する条件の順番 - 3分8秒

Select Case構文のマクロの書き方について説明します。

Select Case の後ろに比較したいもの、そして、End Select と書きます。これがセットで、中身を入れるための入れ物になります。その中に、「Case Is 条件」と書いて、比較する条件をいくつか並べていき、最後にすべての条件に合致しないときのための「Case Else」を書きます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画55】 発展1講座第4章 - Select Case 複数条件の並べ方 - 6分39秒

Select Case構文の便利な使い方の例を紹介します。
比較対象のデータをカテゴリーに分けて、カテゴリー別に処理をするといった場合に、Select Case構文は便利です。Select Case構文は、「,」で区切って複数の条件を並べることができます。条件のどれかを満たせばその後に書かれた内容を実行します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画56】 発展1講座第4章 - Select Case 条件の範囲選択 - 1分33秒

Select Case構文の便利な使い方として、Case の後に「To」を使って、条件の範囲を選択することができます。

Case 0 To 3
Case 4 To 5

「,」で条件を並べるよりも簡単ですので、ぜひ活用してください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画57】 発展1講座第5章 - Sub プロシージャの分割と呼び出し - 9分5秒

Subプロシージャの分割と呼び出しについて学んでいきます。

取引データの取引金額の大きい方から順位をつけていく作業を例にとると、
[1] NumberA : 取引データにID番号をつける
[2] SortG : 取引金額の並べ替えを行う
[3] NumberH : 取引金額の大きい方から順位をつける
[4] SortA : データをID番号順に並べ替える(元のID番号順に戻す)

上記のように、それぞれの作業ごとに、合計4つのマクロを書きます。最後に、4つのマクロを順に実行していくマクロを書きます。マクロの中で別のマクロ名を書くと、そのマクロを呼び出すことができます。

ログインすると、詳細情報を取得できます

アカウント新規登録

【動画58】 発展1講座第5章 - Sub プロシージャを分割するメリット - 12分16秒

マクロを分割して書くメリットは、大きく下記の3つです。
・全体の流れが分かりやすくなる
・メンテナンスが容易になる
・部品化されたものを他Subプロシージャも利用できる

分割したマクロをひとつのマクロとして書くこともできますが、分割したマクロに対して、どんな作業かわかるような名前をつけておくことが大事です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画59】 発展1講座第5章 - ステップアウト、ステップオーバー - 5分56秒

連携したマクロのテストのテクニック、ステップアウト([Ctrl]+[Shift]+[F8])とステップオーバー([Shift]+[F8])について説明します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画60】 発展1講座第5章 - モジュールレベル変数 - 7分49秒

分割したマクロで、ほぼ同じようなプログラムがある場合は、モジュールレベル変数を利用するとひとつにまとめることができます。モジュールレベル変数は、Option Explicitの後、かつ、最初に出てくるサブプロシージャより前のエリアで宣言します。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画61】 発展1講座第5章 - モジュールレベル変数の操作 - 2分26秒

モジュールレベル変数を宣言して、実際に操作してプログラムの動きを確認していきます。何回か繰り返し実行してみてください。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画62】 発展1講座第5章 - モジュールレベル変数 変数の重複 - 5分42秒

変数の重複の問題について説明します。モジュールレベル変数と同じ名前の変数をサブプロシージャの中で宣言すると、モジュールレベル変数よりも、サブプロシージャの中にある変数が優先されてしまいます。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画63】 発展1講座第5章 - モジュールレベル変数 まとめ - 1分37秒

モジュールレベル変数のまとめです。

・モジュールレベル変数は、Option Explicitの後、かつ、最初に出てくるサブプロシージャより前のエリアで宣言することができます。
・モジュールレベル変数は、同一モジュール内のすべてのサブプロシージャからアクセスが可能です。
ログインすると、詳細情報を取得できます

アカウント新規登録

【動画64】 発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定 - 8分55秒

別モジュールからのアクセシビリティ設定について説明します。別モジュールの変数を呼び出して利用したいという時は、サブプロシージャの場合は、「Sub 〜」の前に Public を付けて、変数の場合は、「Dim 変数 As 〜」の Dim を Public に変えて、「Public 変数 As 〜」と宣言します。反対に、頭に「Private」と書くと、他のモジュールから呼び出すことができません。
ログインすると、詳細情報を取得できます

アカウント新規登録

3日がかりのその仕事、3分で終わらせる方法教えます。ガラパゴスタディーオンライン講座 ユーザー登録

本講座の動画一覧

  1. 【動画1】 発展1講座イントロダクション - 使用するファイル、PDFの確認
    【動画1】 発展1講座イントロダクション - 使用するファイル、PDFの確認 未習得
  2. 【動画2】 発展1講座イントロダクション - デバッグ イミディエイトウィンド
    【動画2】 発展1講座イントロダクション - デバッグ イミディエイトウィンド 未習得
  3. 【動画3】 発展1講座第1章 - オープニング 第1章1
    【動画3】 発展1講座第1章 - オープニング 第1章1 未習得
  4. 【動画4】 発展1講座第1章 - オープニング 第1章2
    【動画4】 発展1講座第1章 - オープニング 第1章2 未習得
  5. 【動画5】 発展1講座第1章 - データの「型」1
    【動画5】 発展1講座第1章 - データの「型」1 未習得
  6. 【動画6】 発展1講座第1章 - データの「型」2
    【動画6】 発展1講座第1章 - データの「型」2 未習得
  7. 【動画7】 発展1講座第1章 - 変数の初期値
    【動画7】 発展1講座第1章 - 変数の初期値 未習得
  8. 【動画8】 発展1講座第1章 - ハンガリアン記法
    【動画8】 発展1講座第1章 - ハンガリアン記法 未習得
  9. 【動画9】 発展1講座第1章 - 変数宣言の強制1
    【動画9】 発展1講座第1章 - 変数宣言の強制1 未習得
  10. 【動画10】 発展1講座第1章 - 変数宣言の強制2
    【動画10】 発展1講座第1章 - 変数宣言の強制2 未習得
  11. 【動画11】 発展1講座第1章 - 総称オブジェクト型
    【動画11】 発展1講座第1章 - 総称オブジェクト型 未習得
  12. 【動画12】 発展1講座第1章 - 固有オブジェクト型
    【動画12】 発展1講座第1章 - 固有オブジェクト型 未習得
  13. 【動画13】 発展1講座第1章 - バリアント型
    【動画13】 発展1講座第1章 - バリアント型 未習得
  14. 【動画14】 発展1講座第2章 - オープニング 第2章
    【動画14】 発展1講座第2章 - オープニング 第2章 未習得
  15. 【動画15】 発展1講座第2章 - コレクション
    【動画15】 発展1講座第2章 - コレクション 未習得
  16. 【動画16】 発展1講座第2章 - コレクション(インデックス)
    【動画16】 発展1講座第2章 - コレクション(インデックス) 未習得
  17. 【動画17】 発展1講座第2章 - コレクション(インデックス)の具体例
    【動画17】 発展1講座第2章 - コレクション(インデックス)の具体例 未習得
  18. 【動画18】 発展1講座第2章 - プロパティ 従属要素のオブジェクト
    【動画18】 発展1講座第2章 - プロパティ 従属要素のオブジェクト 未習得
  19. 【動画19】 発展1講座第2章 - プロパティ 上位のオブジェクト
    【動画19】 発展1講座第2章 - プロパティ 上位のオブジェクト 未習得
  20. 【動画20】 発展1講座第2章 - プロパティ 同レベルのオブジェクト
    【動画20】 発展1講座第2章 - プロパティ 同レベルのオブジェクト 未習得
  21. 【動画21】 発展1講座第2章 - プロパティ 値として表現できるデータ
    【動画21】 発展1講座第2章 - プロパティ 値として表現できるデータ 未習得
  22. 【動画22】 発展1講座第2章 - プロパティ Offset
    【動画22】 発展1講座第2章 - プロパティ Offset 未習得
  23. 【動画23】 発展1講座第2章 - プロパティ Offsetの使い方
    【動画23】 発展1講座第2章 - プロパティ Offsetの使い方 未習得
  24. 【動画24】 発展1講座第2章 - End プロパティの使い方
    【動画24】 発展1講座第2章 - End プロパティの使い方 未習得
  25. 【動画25】 発展1講座第2章 - メソッド1
    【動画25】 発展1講座第2章 - メソッド1 未習得
  26. 【動画26】 発展1講座第2章 - メソッド2
    【動画26】 発展1講座第2章 - メソッド2 未習得
  27. 【動画27】 発展1講座第3章 - マクロの自動記録 イントロダクション
    【動画27】 発展1講座第3章 - マクロの自動記録 イントロダクション 未習得
  28. 【動画28】 発展1講座第3章 - マクロの自動記録 オートフィルタ1
    【動画28】 発展1講座第3章 - マクロの自動記録 オートフィルタ1 未習得
  29. 【動画29】 発展1講座第3章 - マクロの自動記録 オートフィルタ2
    【動画29】 発展1講座第3章 - マクロの自動記録 オートフィルタ2 未習得
  30. 【動画30】 発展1講座第3章 - マクロの自動記録 フォントの設定
    【動画30】 発展1講座第3章 - マクロの自動記録 フォントの設定 未習得
  31. 【動画31】 発展1講座第3章 - マクロの自動記録 カラーインデックス
    【動画31】 発展1講座第3章 - マクロの自動記録 カラーインデックス 未習得
  32. 【動画32】 発展1講座第3章 - マクロの自動記録 アンダースコア
    【動画32】 発展1講座第3章 - マクロの自動記録 アンダースコア 未習得
  33. 【動画33】 発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能
    【動画33】 発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能 未習得
  34. 【動画34】 発展1講座第3章 - マクロの自動記録 途中改行2
    【動画34】 発展1講座第3章 - マクロの自動記録 途中改行2 未習得
  35. 【動画35】 発展1講座第3章 - マクロの自動記録 並べ替え
    【動画35】 発展1講座第3章 - マクロの自動記録 並べ替え 未習得
  36. 【動画36】 発展1講座第3章 - マクロの自動記録 個人用マクロブック
    【動画36】 発展1講座第3章 - マクロの自動記録 個人用マクロブック 未習得
  37. 【動画37】 発展1講座第4章 - 論理演算子 イントロダクション
    【動画37】 発展1講座第4章 - 論理演算子 イントロダクション 未習得
  38. 【動画38】 発展1講座第4章 - 論理演算子 解説
    【動画38】 発展1講座第4章 - 論理演算子 解説 未習得
  39. 【動画39】 発展1講座第4章 - 構造文 イントロダクション
    【動画39】 発展1講座第4章 - 構造文 イントロダクション 未習得
  40. 【動画40】 発展1講座第4章 - For Each構文 イントロダクション1
    【動画40】 発展1講座第4章 - For Each構文 イントロダクション1 未習得
  41. 【動画41】 発展1講座第4章 - For Each構文 イントロダクション2
    【動画41】 発展1講座第4章 - For Each構文 イントロダクション2 未習得
  42. 【動画42】 発展1講座第4章 - For Each構文 イントロダクション3
    【動画42】 発展1講座第4章 - For Each構文 イントロダクション3 未習得
  43. 【動画43】 発展1講座第4章 - For Each構文 演習
    【動画43】 発展1講座第4章 - For Each構文 演習 未習得
  44. 【動画44】 発展1講座第4章 - For Each構文 伝票作成マクロ解説
    【動画44】 発展1講座第4章 - For Each構文 伝票作成マクロ解説 未習得
  45. 【動画45】 発展1講座第4章 - For Each構文 セルのコレクション
    【動画45】 発展1講座第4章 - For Each構文 セルのコレクション 未習得
  46. 【動画46】 発展1講座第4章 - For Each構文 カンニングペーパー
    【動画46】 発展1講座第4章 - For Each構文 カンニングペーパー 未習得
  47. 【動画47】 発展1講座第4章 - Do Loop構文 概要
    【動画47】 発展1講座第4章 - Do Loop構文 概要 未習得
  48. 【動画48】 発展1講座第4章 - Do Loop構文 マクロの流れ
    【動画48】 発展1講座第4章 - Do Loop構文 マクロの流れ 未習得
  49. 【動画49】 発展1講座第4章 - Do Loop構文 4つのパターン
    【動画49】 発展1講座第4章 - Do Loop構文 4つのパターン 未習得
  50. 【動画50】 発展1講座第4章 - Do Loop構文 マクロの強制終了
    【動画50】 発展1講座第4章 - Do Loop構文 マクロの強制終了 未習得
  51. 【動画51】 発展1講座第4章 - Exit For、Exit Do、Exit Sub
    【動画51】 発展1講座第4章 - Exit For、Exit Do、Exit Sub 未習得
  52. 【動画52】 発展1講座第4章 - Select Case 概要
    【動画52】 発展1講座第4章 - Select Case 概要 未習得
  53. 【動画53】 発展1講座第4章 - Select Case If文との比較
    【動画53】 発展1講座第4章 - Select Case If文との比較 未習得
  54. 【動画54】 発展1講座第4章 - Select Case 比較する条件の順番
    【動画54】 発展1講座第4章 - Select Case 比較する条件の順番 未習得
  55. 【動画55】 発展1講座第4章 - Select Case 複数条件の並べ方
    【動画55】 発展1講座第4章 - Select Case 複数条件の並べ方 未習得
  56. 【動画56】 発展1講座第4章 - Select Case 条件の範囲選択
    【動画56】 発展1講座第4章 - Select Case 条件の範囲選択 未習得
  57. 【動画57】 発展1講座第5章 - Sub プロシージャの分割と呼び出し
    【動画57】 発展1講座第5章 - Sub プロシージャの分割と呼び出し 未習得
  58. 【動画58】 発展1講座第5章 - Sub プロシージャを分割するメリット
    【動画58】 発展1講座第5章 - Sub プロシージャを分割するメリット 未習得
  59. 【動画59】 発展1講座第5章 - ステップアウト、ステップオーバー
    【動画59】 発展1講座第5章 - ステップアウト、ステップオーバー 未習得
  60. 【動画60】 発展1講座第5章 - モジュールレベル変数
    【動画60】 発展1講座第5章 - モジュールレベル変数 未習得
  61. 【動画61】 発展1講座第5章 - モジュールレベル変数の操作
    【動画61】 発展1講座第5章 - モジュールレベル変数の操作 未習得
  62. 【動画62】 発展1講座第5章 - モジュールレベル変数 変数の重複
    【動画62】 発展1講座第5章 - モジュールレベル変数 変数の重複 未習得
  63. 【動画63】 発展1講座第5章 - モジュールレベル変数 まとめ
    【動画63】 発展1講座第5章 - モジュールレベル変数 まとめ 未習得
  64. 【動画64】 発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定
    【動画64】 発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定 未習得

塾長 小川慶一

メニュー

コメント紹介

もっと見る

ページの先頭へ