【VB】備忘録 3/25, 26
====== 3/25 ======
★Redim(復習)
配列の再定義のとき、要素をリセットしない場合は、「Preserve」をつける。
ReDim Preserve A(i) As String====== 3/26 ======
★テキストボックス
・入力データの取得-ValueプロパティRange("A1") = TextBox1.Value
・あらかじめ表示文字を設定する-TextプロパティTextBox1.Text = "ここに入力してください。"
・日本語入力のオンオフ設定-IMEModeプロパティTextBox1.IMEMode = fmIMEModeOn<IMEModeプロパティの定数>
定数 値 内容
—————————————————————————————-
fmIMEModeNoControl 0 IME のモードを変更しない (既定値)。
fmIMEModeOn 1 IME をオンにする。
fmIMEModeOff 2 IME をオフにして英語モードにする。
fmIMEModeDisable 3 IME をオフにする。このモードにするとユーザーは、キー操作によっても IME をオンにすることができなくなる。
fmIMEModeHiragana 4 全角ひらがなモードで IME をオンにする。
fmIMEModeKatakana 5 全角カタカナ モードで IME をオンにする。
fmIMEModeKatakanaHalf 6 半角カタカナ モードで IME をオンにする。
fmIMEModeAlphaFull 7 全角英数モードで IME をオンにする。
fmIMEModeAlpha 8 半角英数モードで IME をオンにする。
fmIMEModeHangulFull 9 全角ハングル モードで IME をオンにする。
fmIMEModeHangul 10 半角ハングル モードで IME をオンにする。
・入力文字数に制限を加える-MaxLengthプロパティTextBox1.MaxLength = 25
・入力文字を伏字にする-PasswordCharプロパティTextBox1.PasswordChar = "*"
・複数行の入力・表示を行う-MultiLineプロパティTextBox1.MultiLine = True
・スクロールバーを表示させる-ScrollBarsプロパティTextBox1.ScrollBars = fmScrollBarsBoth<ScrollBarsプロパティの定数>
定数 値 内容
——————————————————
fmScrollBarsNone 0 スクロール バーを表示しない (既定値)。
fmScrollBarsHorizontal 1 水平スクロール バーを表示する。
fmScrollBarsVertical 2 垂直スクロール バーを表示する。
fmScrollBarsBoth 3 水平・垂直スクロールバーの両方を表示する。
★型の基本情報
データ型 名称・読み方 小数 負数 正確 値の範囲 Boolean ブール型
ブール- - - True または False Byte バイト型
バイト× × ○ 0 ~ 255 Char 文字型
キャラ- - - 1文字(Unicode)
※数値に変換すると0 ~ 65535ですが数値用ではありません。Short 短整数型
ショート× ○ ○ -32768 ~ 32767 Integer 整数型
インテジャー× ○ ○ -2147483648 ~ 2147483647 Long 長整数型
ロング× ○ ○ -9223372036854775808 ~ 9223372036854775807 SByte 符号付バイト型
エスバイト× ○ ○ -128 ~ 127
(VB2005以降)UShort 符号なし短整数型
ユーショート× × ○ 0 ~ 65535
(VB2005以降)UInteger 符号なし整数型
ユーインテジャー× × ○ 0 ~ 4294967295
(VB2005以降)ULong 符号なし長整数型
ユーロング× × ○ 0 ~ 18446744073709551615
(VB2005以降)Decimal 10進型
デシマル○ ○ ○ ※小数の桁数によって異なります。 ・小数の桁数が0の場合
-79228162514264337593543950335 ~ 79228162514264337593543950335・小数の桁数が28桁の場合
-7.9228162514264337593543950335 ~ 7.9228162514264337593543950335・一番細かい値(分解能)
0.0000000000000000000000000001Single 単精度浮動小数点型
シングル○ ○ × -340282350000000000000000000000000000000
~ 40282350000000000000000000000000000000一番細かい値(分解能)
0.00000000000000000000000000000000000000000001401298Double 倍精度浮動小数点型
ダブル○ ○ × -17976931348623157000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
0000000000000000000000000
~
179769313486231570000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000一番細かい値(分解能)
0.00000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000494065645841246544Date 日付型
デイト- - - 0001年1月1日 0:00:00 ~ 9999年12月31 日 23:59:59 Object オブジェクト型
オブジェクト- - - (任意の型を格納できます) String 文字列型
ストリング- - - 0 個 ~ 約 20 億個の文字 (Unicode) 小数 … 小数が表現できるかを示しています。数値型以外の型には関係ありません。
負数 … 負の数(ゼロより小さい数、マイナス)が表現できるかを示しています。数値型以外の型には関係ありません。
正確 … 正確な値を示すことができるかを表しています。×の場合は値に誤差が発生します。金額の計算など値の正確さが重要な場合はこの項目が×になっている型(Single, Double)は使用しないでください。数値型以外の型には関係ありません。
★変数の宣言と初期化、有効(適用)範囲
- モジュールレベルの変数
- プロシージャ内部での宣言ではなく、モジュール内でプロシージャが始まる前(上)に記述する変数です。(中略)モジュールレベルの変数は、プログラムの先頭で初期化され、以降制御がどのモジュールのどのプロシージャに移ってもプログラムの終了まで内容が保持されています。
一般にモジュールレベルの変数は保持期間が長いため、不必要に宣言すべきではないと言われています。つまり、プロシージャレベルで済むものはプロシージャレベルで宣言するべきということになります。
- 「Public」で宣言する変数は、プロジェクト内の全ての場所から参照することができます。
「Public」は「Global」と書いても同じです。(「Global」は古い書き方なので避けましょう)- 「Private」で宣言する変数は、このモジュール内の各プロシージャからは参照できますが、プロジェクト内の他のモジュールからは参照できません。
「Private」は「Dim」と書いても同じです。- 「Const」での宣言は、定数の宣言です。定数名の右に「=」で内容を書き込みます。これは定数であり、処理中での内容の書き換えはできません。
「Const」の前に「Public」、「Private」が明示できます。明示しない場合は「Private」と同じになります。- プロシージャレベルの変数
- プロシージャ内部では、実際にその変数を使用する記述より上で変数を宣言しておく必要があります。一般にはプロシージャの先頭にまとめて記述します。モジュールレベルで宣言されている変数と同じ名前の変数がある場合はプロシージャ内の変数が参照されます。
- 「Dim」で宣言する変数は、そのモジュール内のみが適用範囲(参照できる範囲)となります。「Dim」で宣言する変数は、そのプロシージャが呼び出される都度初期化されます。
- 「Static」で宣言する変数も、そのモジュール内のみが適用範囲となりますが、「Dim」で宣言する変数と異なりプロシージャ内での処理が終了し、制御が他に移ってもその変数は初期化されません。次回そのプロシージャが呼び出された時に、以前の内容が保持されたままになります。
- 「Const」での宣言は、定数の宣言です。定数名の右に「=」で内容を書き込みます。これは定数であり、処理中での内容の書き換えはできません。
★データの種類の個数を数える(Excel)
・COUNTIF(“範囲”,”条件”) ← “範囲”内で、”条件”を満たすセルの個数を返す
・1/COUNTIF(~) → 1つの条件につきそのSUMは1 ← エクセル生活 : 重複しないデータを数える
・「=SUMPRODUCT(1/COUNTIF(範囲,範囲))」で”範囲”のSUMを計算すれば、”範囲”内におけるデータの個数が分かる
(・∀・)SUMIF SUMPRODUCT SUMIFで複数条件 エクセル Excel [エクセルの学校]
<SUMPRODUCT関数は配列の積の和を計算します>
★複数の条件を満たすもののカウント(Excel)
(条件=True)のとき「1」、(条件=False)のとき「0」を返すので、
SUMPRODUCT((「範囲1」=「条件1」)*(「範囲2」=「条件2」)* …… )
とすればOK。
(・∀・)Excel豆知識29-3:エクセル:SUMPRODUCT関数
★セルに名前をつける
Selection.Name = "名前1"Range("B1").Name = "名前1"


