変数とはデータを格納しておく入れ物のようなものです。変数は値を代入したり参照したりすることができます。次のコードを見てください。シート名1にのA1 ~ C1までセルに値を書き込む処理ですが、このシート名がシート2に変わった場合は全てを書き換える必要があります。このコードを変数を使って置き換えると、次のようにすることができます。こうしておくことで、シート名が変わった時に一番上に書いているシート名1を変えるだけで変更することができます。変数は、文字列以外にも数値や様々 …

バイトと読む。Byteは1956年、【参考】なるほど。彼は情報をムシャムシャ食べてるコンピューター君を想像したわけだ。そのひと口(ひと噛み)がバイトだと。さて、本来1バイトが何ビットかというのはまちまちだったらしいが、現在では1バイトはふつう、8ビットを表す。8ビットとはつまり2進数で8桁なので、この範囲を整数で表すと0~255となる。ただし、255までしか使わないからといって安易にByte型を使うのは賛成しない。Byte型は、本質的に0~255の範囲で収まるようなデータに用いる。■Byteの使いどころ参考記事インテジャーと読む。英語で整数のことをIntegerというのでこちらは分かりやすい。日本語で整数型と言ったらInteger型を指す。また、実際のところIntegerよりもLongの方がパフォーマンスが良い。ロングと読む。長い?何のこっちゃと思われるかもしれないが、日本語では長整数型(ちょうせいすうがた)と読む。名前通り、扱える整数範囲が-2,147,483,648 ~ +2,147,483,647と、だいぶ長くなっている。 しかし、カレンシーと読む。Currencyとは英語で通貨のこと。大きな金額を計算したい時や、精度の高い計算をしたいときに使う。他に精度の高い計算をしたいときにはDecimal型というのもあるが、CDec関数上でしか扱えない特殊な型なので、説明を割愛する。■CDecの使い方について参考記事ダブルと読む。2倍?何のこっちゃと思われるかもしれないが、日本語では倍精度たとえば、0.000000000000879を表すのに、小数点以下の桁数分のスペースを用意するとなると効率が悪い。基数部の10は決まり事なので省略できる。つまりコンピュータ上では小数は次のように記録されている。8.79なら逆に大きな数もこの方式なら少ない情報で表現できる。小数第1ケタまで表現すると、879,000,000,000.0であるといえる。つまりこれで、極小の数も、極大の数も少ない容量で表現できるようになった。たとえばここで問題となるのは、数値の精度である。で、精度が倍のしかし「浮動」なんてふつうの会話で使わないから音だけ聞くと「不動」を連想してしまう。シングルと読む。倍精度があれば単精度もある。もちろんDoubleに比べて精度は低いが、計算速度はこちらのほうが早い。とはいえ現代のコンピューターでは人間が感じられるほどの差にはならないので、基本的には実数型にはDoubleを使えばよい。あまり使われることがないSingle型であるが、ストリングと読む。英語で糸とかヒモの意味。文字列を扱うお馴染みの型である。String型は実は内部ではバイト型配列になっている。詳しくは以下の記事をどうぞ。デートと読む。日付という安直で分かりやすい名前なのであえて説明も要らないだろう。バリアントと読む。英語で「異なる」とか「相違した」という意味である。ちなみにバラエティー、バリエーション、なんかも同じ語源で、variが付く単語は変化とか異なるとか様々なといった意味が中心にある。そういえば変数も英語でVariable(バリアブル)って言う。こうしたウンチクを知ったからといって今すぐプログラミングが上手くなるという訳ではない。でも、意味も分からないまま「おまじない」のように使っているよりは、ちゃんと意味を知って納得した上でプログラミングを書く方がその言語について愛着が湧くものだし、用語なんかもかえって記憶に残りやすい。たとえば「実数を扱う型=「好きこそ物の上手なれ」というように、学習対象について直接関係ないことでも興味を持っていろいろ調べてみることが、結果的に上達につながるんじゃないかとも思う。 変数宣言のDimとデータ型|VBA入門 4.マクロって何?VBAって何?|VBA入門 5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門 6.Range以外の指定方法(Cells,Rows,Columns)|VBA入門 7.繰り返し処理(For Next)|VBA入門 8.セルに文字を入れるとは(Range,Value)|VBA入門 9. VBAに限らずプログラミングをするには、変数を扱う事は必須となります。変数のデータ型と、型の指定方法についてご説明します。データ型はたくさんありますので、最初から全て覚える必要はないと思います。使用頻度の高いデータ型も併せてご紹介したいと思います。「変数って何?」という方は「変数は宣言とは宣言する際に、この文字、数字、日付の部分を一番下のVariant型は全てのデータ型を格納できます。また、Varinatは「as Varinat」を省略して 「Dim 変数名」のみで記載することも可能です。データ型はたくさんありますので、慣れるまではこの3つで良いと思います。慣れてきたら、他のデータ型を徐々に覚えていくと良いと思います。個人的にはDouble(小数)、Date(日付)、Boolean(True/False)もよく使用します。myStrとmyIntは変数名ですので、任意です。また、次の様にたくさん宣言する場合には、変数を連続して記載出来ます。何でも対応出来る正直なところ、一部例外はありますが「なので、ここからは個人的な意見になります。予め型の指定がされていると、可読性が高く読みやすく感じます。特に計算が多いコードや、連結が多いコードを読むときに、この変数には数字が入っているとか、この変数には文字列が入っていると認識出来るだけでも、かなりコードの挙動をイメージしやすくなります。もし、全てVariantだと、前後のコードから変数にはどんなデータが入るのかを読み取る作業が無意識にも発生します。(また、エラーの検知も早くなる気がしますこの変数には文字列であるべきとか、数値であるべきと明確なルールが必要な処理の時に 、型を指定する事で違う型のデータが代入されそうになった時にエラーが発生します。 Variantだとエラーが発生しないため、エラーをすぐに検知出来なかったりします。このような理由で、個人的には型の指定をした方が良いのではないかなと思います。変数は、たくさんあるので徐々に覚えていきましょう。変数自体を省略出来たり、型を省略出来ます。ですが、覚え始めや慣れるまでは、下手に省略するよりも丁寧に書くことが大事かと思います。可読性も上がり、エラーの検知も早くなりますし、コーディングをする上でイメージもしやすくなります。面倒ですが、まずは丁寧を意識してみては如何でしょう。 ExcelVBAとアウトドアとゴルフが趣味の30代のおじさんです。ExcelVBAとアウトドアとゴルフが趣味の30代のおじさんです。 マクロVBA入門者が、まず最初につまずくのが、このDimで変数を宣言することでしょう。変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますが、まずはこの考えで良いでしょう。この入れ物には、いろいろなタイプの入れ物があります。 最もよく使われる型は、なんといっても長整数型(Long)と文字列型(String)でしょう。整数を格納する型は、長整数型(Long)のほかにInteger(整数型)もありますが、Integer(整数型)は最大で32,767までしか入りませんから、特別な事情がある場合を除いて、整数を入れる変数は長整数型(Long)で宣言すればいいでしょう。また、たとえば月を表す数値(1~12)のように、非常に小さい整数を格納する変数としてバイト型(Byte)を使っているケースをときおり見かけますが、これは相応しくありません。バイト型(Byte) …

Integer型とLong型はどちらを使うべき? VBAで整数を扱う型には、 『Integer型』 と 『Long型』 があります。 Integer型が扱える数字の範囲は、-32,768 ~ +32,767 です。 Long型が扱える数字の範囲は、-2,147,483,648 ~ +2,147,483,647 です。