Excel VBA 初心者の為の入門講座のホームページです

Excel VBA 入門講座


3.文字列操作関数


関数名Replace
機能文字列内の特定の単語や語句を、指定された単語や語句に置換します。
構文Replace("対象文字列","置換前の文字(列)","置換後の文字(列)",検索開始位置(省略可),置換回数(省略可),比較モード(省略可))


strSamp = "123456789"
strSamp = Replace(strSamp, "123", "000")
'000456789を返す

strSamp = "111122223333111122223333"
strSamp = Replace(strSamp, "1111", "0000", 5)
'22223333000022223333を返す
        
strSamp = "111122223333111122223333"
strSamp = Replace(strSamp, "1111", "0000", 1, 1)
'000022223333111122223333を返す

strSamp = "111122223333111122223333"
strSamp = Replace(strSamp, "1111", "0000", 1, 2)
'000022223333000022223333を返す

関数名Left
機能文字列の左端から指定した文字数分の文字列を取り出します。
構文Left("文字列",取り出す文字数)


strSamp = "111122223333111122223333"
strSamp = Left(strSamp, 4)
'1111を返す

関数名Right
機能文字列の右端から指定した文字数分の文字列を取り出します。
構文Right("文字列",取り出す文字数)


strSamp = "111122223333111122223333"
strSamp = Right(strSamp, 5)
'23333を返す

関数名Mid
機能文字列内の指定した文字位置から始まる文字列を取り出します。
構文Mid("文字列",開始位置,取り出す文字列数)


strSamp = "111122223333111122223333"
strSamp = Mid(strSamp, 13)
'111122223333を返す
    
strSamp = "111122223333111122223333"
strSamp = Mid(strSamp, 13, 4)
'1111を返す

関数名Len
機能文字列の文字数を返します。
構文Len("文字列")


strSamp = "111122223333111122223333"
intCount = Len(strSamp)
'24を返す

関数名Instr
機能文字列内で特定の文字列を検索し、最初に検出された文字の位置を返します。
構文InStr(検索開始位置(省略可),"検索対象文字列","検索文字列",比較モード)


strSamp = "111122223333111122223333"
intPoint = InStr(strSamp, "3333")
'9を返す

strSamp = "111122223333111122223333"
intPoint = InStr(13, strSamp, "3333")
'21を返す

関数名StrConv
機能文字列を指定の形式に変換する
構文StrConv("対象文字列",定数)



'文字列を大文字に変換
strSamp = "aaaaa"
strSamp = StrConv(strSamp, 1)
'AAAAAを返す

strSamp = "aaaaa"
strSamp = StrConv(strSamp, vbUpperCase)
'AAAAAを返す

'文字列を小文字に変換
strSamp = "AAAAA"
strSamp = StrConv(strSamp, 2)
'aaaaaを返す

'文字列を小文字に変換
strSamp = "AAAAA"
strSamp = StrConv(strSamp, vbLowerCase)
'aaaaaを返す

'文字列の各単語の先頭の文字を大文字に変換
strSamp = "aaaaa"
strSamp = StrConv(strSamp, 3)
'Aaaaaを返す

'文字列の各単語の先頭の文字を大文字に変換
strSamp = "aaaaa"
strSamp = StrConv(strSamp, vbProperCase)
'Aaaaaを返す

'文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換
strSamp = "ハヒフヘホ"
strSamp = StrConv(strSamp, 4)
'ハヒフヘホを返す

'文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換
strSamp = "ハヒフヘホ"
strSamp = StrConv(strSamp, vbWide)
'ハヒフヘホを返す

'文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換
strSamp = "ハヒフヘホ"
strSamp = StrConv(strSamp, 8)
'ハヒフヘホを返す

'文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換
strSamp = "ハヒフヘホ"
strSamp = StrConv(strSamp, vbNarrow)
'ハヒフヘホを返す

'文字列内のひらがなをカタカナに変換
strSamp = "はひふへほ"
strSamp = StrConv(strSamp, 16)
'ハヒフヘホを返す

'文字列内のひらがなをカタカナに変換します。
strSamp = "はひふへほ"
strSamp = StrConv(strSamp, vbKatakana)
'ハヒフヘホを返す

'文字列内のひらがなをカタカナに変換
strSamp = "ハヒフヘホ"
strSamp = StrConv(strSamp, 32)
'はひふへほを返す

'文字列内のひらがなをカタカナに変換
strSamp = "ハヒフヘホ"
strSamp = StrConv(strSamp, vbHiragana)
'はひふへほを返す

関数名Format
機能指定した形式に従って数値、日付/時刻、文字列の表示形式を設定します。
構文Format("数値・日付/時刻・文字列など","形式")


'現在のシステム日付が2005/11/21の場合
dtToday=Date
Debug.Print Format(dtToday,"yyyymmdd")
'20051121を返す

Debug.Print Format(dtToday,"yyyy/mm/dd")
'2005/11/21を返す

Debug.Print Format(dtToday,"gggee年")
'平成17年を返す

Debug.Print Format(dtToday,"gge年")
'平17年を返す

Debug.Print Format(dtToday,"ge")
'H17を返す

Debug.Print Format(dtToday,"yyyy")
'2005を返す

Debug.Print Format(dtToday,"mm")
'11を返す

Debug.Print Format(dtToday,"dd")
'21を返す

'現在のシステム時刻が19:46:38の場合
dtNow=Now
Debug.Print Format(dtNow,"hh:mm:ss")
'19:46:38を返す

Debug.Print Format(dtNow,"hhmmss")
'194638を返す

Debug.Print Format(dtNow,"hh")
'19を返す

Debug.Print Format(dtNow,"HH:mm")
'19:46を返す

Debug.Print Format(dtNow,"ss")
'38を返す

lngData=777777777.7777
Debug.Print Format(lngData,"##,###.##")
'777,777,777.78を返す

Debug.Print Format(lngData,"##,###.00")
'777,777,778.00を返す

Debug.Print Format(lngData,"##,##0")
'777,777,778を返す

Debug.Print Format(lngData,"##,###")
'777,777,778を返す

Debug.Print Format(lngData,"\\###")
'\777777778を返す

lngData=0.7
Debug.Print Format(lngData,"0.00%")
'70.00%を返す

Debug.Print Format(lngData,"00%")
'70%を返す

strData="ABCDE"
Debug.Print Format(strData,"<")
'abcdeを返す

strData="vwxyz"
Debug.Print Format(strData,">")
'VWXYZを返す

Copyright (C) pc-users.net, All Rights Reserved.