文字列関数
△は半角空白を表す。
▲は全角空白を表す。
関数 | 説明 | コード | 結果 | 備考 |
---|---|---|---|---|
Asc | 文字 ⇒ AscII | Asc("A") ASC("ABC") |
65 65 |
変換するのは1文字目だけ |
Chr | ASCII ⇒ 文字 | Chr(65) | A | |
LCase | 大文字⇒小文字 | LCase("AbCdE") | abcde | |
UCase | 小文字⇒大文字 | UCase("AbCdE") | ABCDE | |
Len | 文字長 | Len("あいうABC") | 5 | 全/半角問わず1文字 |
Left | 左端の部分文字列を生成 | Left("ABCDE", 4) | ABCD | |
Right | 右端の部分文字列を生成 | Right("ABCDE", 4) | BCDE | |
Mid | 中央の部分文字列を生成 | Mid("ABCDE", 2, 3) Mid("ABCDE", 2) |
BCD BCDE |
(文字列, startPos, length) |
InStr | 包含判定(先頭から走査) | InStr("ABCDE", "BCD") InStr("ABABC", "AB") InStr("ABCDE", "1") |
2 1 0 |
一致 : 一致した先頭文字位置 不一致 : 0 |
InStrRev | 包含判定(末尾から走査) | InStrRev("ABCDE", "BCD") InStrRev("ABABC", "AB") InStrRev("ABCDE", "1") |
2 3 0 |
一致 : 一致した先頭文字位置 不一致 : 0 |
Space | 空白文字列の生成 | Space(3) | △△△ | |
String | 繰り返し文字の生成 | String(3, "A") String(5, "B") |
AAA BBBBB |
|
Trim | 空白削除(両端) | Trim("△▲aaa△▲")) | aaa | 全角半角問わず空白を削除 |
RTrim | 空白削除(右端) | |||
LTrim | 空白削除(左端) | |||
Replace | 置換 | Replace("ABCDDABC", "AB", "ZZ") | ZZCDDZZC |
StrConv
文字列を様々な形式で変換する。
意味 | コード | 説明 |
---|---|---|
大文字⇔小文字 | StrConv("aBcDe", vbUpperCase) StrConv("aBcDe", vbLowerCase) StrConv("abcde", vbProperCase) |
ABCDE abcde Abcde |
全角⇔半角 | StrConv("123", vbWide) StrConv("123", vbNarrow) |
123 123 |
かたかな⇔ひらがな | StrConv("あいぁぃ", vbKatakana) StrConv("アイァィ", vbHiragana) |
アイァィ あいぁぃ |
数学
関数 | 説明 | コード | 結果 | 備考 |
---|---|---|---|---|
Fix | 整数部の取得 | Fix(99.999) Fix(-99.999) |
99 -99 |
|
Int | 整数部の取得 | Int(99.999) Int(-99.999) |
99 -100 |
負値の場合 切り上げ(+1)される |
Rand | 乱数の取得 | Rnd | 乱数の幅は(0.0 ~ 1.0) | |
Round | 四捨五入 | Round(1.5) Round(2.5) Round(3.5) |
2 2 4 |
厳密には丸め(JIS丸め、銀行型丸め、最近接偶数丸め) で四捨五入と少し結果が違う |
データの型判定
・IsXXX()で型が妥当か判定できる。
・例) IsDate, IsNull, IsArray
IsDateで判定可能なフォーマットの種類について
・詳しくはリンクのIsDate参照。
・OK 2020/9/1, 10/3, 20 10 4, 令和元年10月
・NG 2020.10.5 (カンマ区切りはだめなので/に変換する等の必要あり)
データの型変換
・CXXX()という関数名。
・CDate(str), CByte(str)など
・例) String ⇒ Date型, String ⇒ Byte型
日付
| 説明 | コード | 結果 | 備考 |
|:--|:--|:--|:--|:--|
| 現在時刻の取得 | Date
Now
Time
| YYYY/MM/DD
YYYY/MM/DD HH24:mi:ss
HH24:mi:ss | 戻り値 : Date型 |
| 年月日時分秒の取得| Year
Month
Day
Hour
Minute
Second
Weekday | YYYY
MM
DD
HH24
mi
ss
1 ~ 7(日 ~ 土曜日)| 戻り値 : 整数|
| 年月日時分秒の取得(汎用)| DatePart("yyyy", date)| 2021 | 上記の関数を一つに汎用化|
| 数値 ⇒ 日付型 | DateSerial(2021, 4, 1)
DateSerial(2021, 4, 0)
TimeSerial(15, 10, 30)
TimeSerial(15, -10, 30)
TimeSerial(15, 10, -30)| 2021/04/01
2021/03/31
15:10:30
14:50:30
15:09:30 | 日にちが0 : 前日末日|
| 日付の加減算 | DateAdd("yyyy", 2, Now)
DateAdd("m", -2, Now) | | マイナスの指定も可能 |
| 日付の差| DateDiff("yyyy", "2020/01/01", "2021/01/01")
DateDiff("m", "2020/01/01", "2021/01/01")
DateDiff("d", "2020/01/01", "2021/01/01")| 1
12
366 | 1年は12か月, 1年は365日 |
参考サイト
文字列関数 : [リンク] (https://excel-ubara.com/excelvba1/EXCELVBA347.html)
IsDate : リンク
数学/型判定/型変換 : [リンク] (https://excel-ubara.com/excelvba1/EXCELVBA348.html)
日付 : [リンク] (https://excel-ubara.com/excelvba1/EXCELVBA346.html)