新規記事の投稿を行うことで、非表示にすることが可能です。
2017年03月04日
ExcelマクロとVBAの違いと変数について
□□□□□□□□□□□□□□□□□
『とにかく早い者勝ちっ!』
ドメイン取るならお名前.com
https://px.a8.net/svt/ejp?a8mat=2NR5KR+GCTQ2A+50+2HEVMR
□□□□□□□□□□□□□□□□□
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
【マクロとVBA】
マクロというのはユーザーが行った操作を記録して1つにまとめたものと言い、
VBAはマクロを記録するためのプログラミング言語だと思って下さい。
【変数の宣言】
いきなり「変数の宣言」というよくわからない言葉が出て来ました。
変数とは何か?
文字や数値を入れておく箱のようなもの又はメモ帳のようなものだと
理解してください。
一旦覚えておいて後から利用するためなのです。
先ほどのような簡単なプログラムでは「変数」を使用する必要もないので、
当然宣言もしていません。
ExcelVBAではプログラム内で値の受け渡し、値の計算などが頻繁に行われます。
その都度「変数」という箱に入れてやれば自由に出し入れして扱うことが出来ます。
【変数の使用方法】
例えば「a」という変数があり、ここに「5」という値を格納したいとします。
その場合は「a=5」とすれば、変数「a」に「5」が格納されます。
また文字列の場合、変数「a」に「Excel」という文字を格納する場合、
「a=”Excel”」というように「” ”」ダブルクォーテーションで括ってください。
計算の場合a=5として、変数「b」があるとします。
b=a+1とするとbには「6」が格納されます。
※何故変数を宣言するかというと、宣言しなくてもVBAは動作します。
ただし、変数を宣言してない場合、VBAが理解できる「命令文」(コマンド)や
数値以外は全て変数として扱います。
たまたま命令文のスペルが間違っていてもエラーが出ずに、
変数として取り扱い、こちらの意図した結果が出ない場合があります。
変数を宣言しておくと、命令文でスペルが間違った場合「変数が
定義されていません。」というエラーメッセジが出てくれます。
またVBE(Visual Basic Editor)という入力支援機能が使用出来るようになります。
初心者の方は「エラーが頻発するので変数宣言しない」という場合があるようです。
しかしそれは逆で、ミスを発見するために「変数宣言」すると理解して
もらったほうが良いと思います。
自分のためにも変数宣言は行いましょう。
※変数の名前を付けるときの注意点
・使用できる文字は「英字」「ひらがな」「全角カタカナ」「漢字」「数字」「アンダースコア」(_)
・先頭は文字であること(数字又は記号以外の文字)
・記号・スペースは使用不可
・文字数は255文字(全角127文字)以内
・Excelの関数名、ステートメント名、メソッド名と同じ名前は使用できない。
・同一の名前を同じ適用範囲内に使用できない。
名前の付け方には色々ありますが、代表的な表記法を記載しておきます。
・ハンガリアン記法・・・変数の先頭の何文字かにデータ型を示す接頭辞を付ける
例)strName
・キャメル記法・・・複数の単語を組み合わせて変数名を付け、先頭を大文字にする
例)UserName
・スネーク記法・・・変数名をすべて大文字にして_(アンダースコア)で区切る
例)USER_NAME
個人的にはどちらでも良いと思いますし、小さいプログラムならば
何でもいいかなと思ってしまいます。
上記のどれかに則るのであれば統一したほうが見やすいし分かりやすいと思います。
私がどれか選択するならば、スネーク記法ですね。
しかし皆さんはお好きな方法で宣言してください。
【データ型】
変数はメモリ上に確保された領域なので、データによってメモリ領域が違います。
ですから格納できる数値の範囲が大きくなればメモリの領域も大きくなるわけです。
同じ数字を格納するのでも「バイト型」ならば1バイトで済むところを整数型にすれば
2バイト必要ということです。
同じ整数であってもデータ型の選択によって無駄にメモリを消費する場合も
ありますのでデータ型の選択は慎重に。
A8.netなら!
------------------------------------------------
◇スマートフォンやPCから簡単に広告が掲載可能
◇もちろん会員登録は無料。その後も費用はかかりません!
◇欲しい商品がお得に購入できるセルフバックの利用ができる
◇有名ブランドから高額報酬がもらえる広告を掲載
-----------------------------------------------
アフィリエイトを始めるならA8.net(エーハチネット)
まずは登録→ https://px.a8.net/svt/ejp?a8mat=2NQXR8+BN56NM+0K+ZUAMB
『とにかく早い者勝ちっ!』
ドメイン取るならお名前.com
https://px.a8.net/svt/ejp?a8mat=2NR5KR+GCTQ2A+50+2HEVMR
□□□□□□□□□□□□□□□□□
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
【マクロとVBA】
マクロというのはユーザーが行った操作を記録して1つにまとめたものと言い、
VBAはマクロを記録するためのプログラミング言語だと思って下さい。
【変数の宣言】
いきなり「変数の宣言」というよくわからない言葉が出て来ました。
変数とは何か?
文字や数値を入れておく箱のようなもの又はメモ帳のようなものだと
理解してください。
一旦覚えておいて後から利用するためなのです。
先ほどのような簡単なプログラムでは「変数」を使用する必要もないので、
当然宣言もしていません。
ExcelVBAではプログラム内で値の受け渡し、値の計算などが頻繁に行われます。
その都度「変数」という箱に入れてやれば自由に出し入れして扱うことが出来ます。
【変数の使用方法】
例えば「a」という変数があり、ここに「5」という値を格納したいとします。
その場合は「a=5」とすれば、変数「a」に「5」が格納されます。
また文字列の場合、変数「a」に「Excel」という文字を格納する場合、
「a=”Excel”」というように「” ”」ダブルクォーテーションで括ってください。
計算の場合a=5として、変数「b」があるとします。
b=a+1とするとbには「6」が格納されます。
※何故変数を宣言するかというと、宣言しなくてもVBAは動作します。
ただし、変数を宣言してない場合、VBAが理解できる「命令文」(コマンド)や
数値以外は全て変数として扱います。
たまたま命令文のスペルが間違っていてもエラーが出ずに、
変数として取り扱い、こちらの意図した結果が出ない場合があります。
変数を宣言しておくと、命令文でスペルが間違った場合「変数が
定義されていません。」というエラーメッセジが出てくれます。
またVBE(Visual Basic Editor)という入力支援機能が使用出来るようになります。
初心者の方は「エラーが頻発するので変数宣言しない」という場合があるようです。
しかしそれは逆で、ミスを発見するために「変数宣言」すると理解して
もらったほうが良いと思います。
自分のためにも変数宣言は行いましょう。
※変数の名前を付けるときの注意点
・使用できる文字は「英字」「ひらがな」「全角カタカナ」「漢字」「数字」「アンダースコア」(_)
・先頭は文字であること(数字又は記号以外の文字)
・記号・スペースは使用不可
・文字数は255文字(全角127文字)以内
・Excelの関数名、ステートメント名、メソッド名と同じ名前は使用できない。
・同一の名前を同じ適用範囲内に使用できない。
名前の付け方には色々ありますが、代表的な表記法を記載しておきます。
・ハンガリアン記法・・・変数の先頭の何文字かにデータ型を示す接頭辞を付ける
例)strName
・キャメル記法・・・複数の単語を組み合わせて変数名を付け、先頭を大文字にする
例)UserName
・スネーク記法・・・変数名をすべて大文字にして_(アンダースコア)で区切る
例)USER_NAME
個人的にはどちらでも良いと思いますし、小さいプログラムならば
何でもいいかなと思ってしまいます。
上記のどれかに則るのであれば統一したほうが見やすいし分かりやすいと思います。
私がどれか選択するならば、スネーク記法ですね。
しかし皆さんはお好きな方法で宣言してください。
【データ型】
変数はメモリ上に確保された領域なので、データによってメモリ領域が違います。
ですから格納できる数値の範囲が大きくなればメモリの領域も大きくなるわけです。
同じ数字を格納するのでも「バイト型」ならば1バイトで済むところを整数型にすれば
2バイト必要ということです。
同じ整数であってもデータ型の選択によって無駄にメモリを消費する場合も
ありますのでデータ型の選択は慎重に。
A8.netなら!
------------------------------------------------
◇スマートフォンやPCから簡単に広告が掲載可能
◇もちろん会員登録は無料。その後も費用はかかりません!
◇欲しい商品がお得に購入できるセルフバックの利用ができる
◇有名ブランドから高額報酬がもらえる広告を掲載
-----------------------------------------------
アフィリエイトを始めるならA8.net(エーハチネット)
まずは登録→ https://px.a8.net/svt/ejp?a8mat=2NQXR8+BN56NM+0K+ZUAMB
2017年03月02日
ExcelVBA入門マクロの中身
A8.netなら!
------------------------------------------------
◇スマートフォンやPCから簡単に広告が掲載可能
◇もちろん会員登録は無料。その後も費用はかかりません!
◇欲しい商品がお得に購入できるセルフバックの利用ができる
◇有名ブランドから高額報酬がもらえる広告を掲載
-----------------------------------------------
アフィリエイトを始めるならA8.net(エーハチネット)
まずは登録→ https://px.a8.net/svt/ejp?a8mat=2NQXR8+BN56NM+0K+ZXXSJ
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
マクロの中身
それでは今記録したマクロの中身はどうなっているかを見て行きましょう。
開発タブのVisual Basicというボタンを押してください。
起動時の最初の画面と同じような画面になりました。
ただし今回は矢印の「標準モジュール」というフォルダーが出来ています。
この標準モジュールをダブルクリックするか左の「+」を押してください。
標準モジュールの下にModule1というのがありますね。
ここをダブルクリックしてください。
やっと中に表示が現れました。
ここの内容が先ほど記録した内容なのです。
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Copy
Range("A3").Select
ActiveSheet.Paste
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End Sub
上記が記載内容です。
Sub Macro1()
プログラムの開始宣言ステートメントです。
通常は「○○Sub○○()」という形で始まります。
' Macro1 Macro
最初に「′」と付いていますね。
これがあるとこの行はコメントとして扱われます。
文字色も緑になっていますね。
後で分かるように「この行は何をしているか」と覚書でコメントを残すことがあります。
Selection.Copy
A1を選択した状態でマクロの記録をスタートしたので
「Selection」はA1になります。
ここはA1をコピーせよという命令文です。
Range("A3").Select
ここはA3を選択しなさいという命令文です。
ActiveSheet.Paste
ここは貼付けの命令文。
A1をコピー後、A3を選択してここで「貼り付け」です。
With Selection.Font・・・・・一緒(With)にフォントの色を変更
.Color = -16776961・・・色を指定
.TintAndShade = 0・・・ここは色の明るさです。
End With・・・一緒(With)にという部分はここで終了という意味です。
End Sub
プログラムの終了を宣言するステートメントです。
最初にSub Macro1()でスタートしてここでSubが終了しますという意味です。
なんとなく理解できましたか。
1文ずつやるとなんとなく分かってくると思います。
まとめて全体を見るとなんだこれは!!というふうになりますので、
ボチボチやっていきましょう。
WordPressを標準搭載!ホームページ作成に必要なレンタルサーバーが月1,543円(税込)!
------------------------------------------------
◇スマートフォンやPCから簡単に広告が掲載可能
◇もちろん会員登録は無料。その後も費用はかかりません!
◇欲しい商品がお得に購入できるセルフバックの利用ができる
◇有名ブランドから高額報酬がもらえる広告を掲載
-----------------------------------------------
アフィリエイトを始めるならA8.net(エーハチネット)
まずは登録→ https://px.a8.net/svt/ejp?a8mat=2NQXR8+BN56NM+0K+ZXXSJ
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
マクロの中身
それでは今記録したマクロの中身はどうなっているかを見て行きましょう。
開発タブのVisual Basicというボタンを押してください。
起動時の最初の画面と同じような画面になりました。
ただし今回は矢印の「標準モジュール」というフォルダーが出来ています。
この標準モジュールをダブルクリックするか左の「+」を押してください。
標準モジュールの下にModule1というのがありますね。
ここをダブルクリックしてください。
やっと中に表示が現れました。
ここの内容が先ほど記録した内容なのです。
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Copy
Range("A3").Select
ActiveSheet.Paste
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End Sub
上記が記載内容です。
Sub Macro1()
プログラムの開始宣言ステートメントです。
通常は「○○Sub○○()」という形で始まります。
' Macro1 Macro
最初に「′」と付いていますね。
これがあるとこの行はコメントとして扱われます。
文字色も緑になっていますね。
後で分かるように「この行は何をしているか」と覚書でコメントを残すことがあります。
Selection.Copy
A1を選択した状態でマクロの記録をスタートしたので
「Selection」はA1になります。
ここはA1をコピーせよという命令文です。
Range("A3").Select
ここはA3を選択しなさいという命令文です。
ActiveSheet.Paste
ここは貼付けの命令文。
A1をコピー後、A3を選択してここで「貼り付け」です。
With Selection.Font・・・・・一緒(With)にフォントの色を変更
.Color = -16776961・・・色を指定
.TintAndShade = 0・・・ここは色の明るさです。
End With・・・一緒(With)にという部分はここで終了という意味です。
End Sub
プログラムの終了を宣言するステートメントです。
最初にSub Macro1()でスタートしてここでSubが終了しますという意味です。
なんとなく理解できましたか。
1文ずつやるとなんとなく分かってくると思います。
まとめて全体を見るとなんだこれは!!というふうになりますので、
ボチボチやっていきましょう。
WordPressを標準搭載!ホームページ作成に必要なレンタルサーバーが月1,543円(税込)!