全角が含まれる文字列を半角に変換する
<分類:値変換>
<使用例:全角が含まれる文字列(ABCDEF)を半角(ABCDEF)に変換する>
<プログラム例>
Sub 使用例 Dim s As String Dim s2 As String s = "ABCDEF" s2 = StrConv(s, vbNarrow) MsgBox (s & "の文字列を" & s2 & "に変換しました") End Sub
ステータスバーに処理中...の.を流れるように表示する
<分類:ステータスバー制御>
<使用例:ステータスバーに処理中...を表示する。ステータスバー表示時間間隔はパラメータで調整可能現在10000000で設定>
<プログラム例>
Sub 使用例() Dim i As Long Application.StatusBar = False For i = 1 To 50 Call ステータスバー表示(10000000) Next i End Sub Sub ステータスバー表示(p1) 'p1:待ち時間制御 Dim i As Long '待ち時間制御 For i = 1 To p1 Next i If Left(Application.StatusBar, 3) = "処理中" Then Application.StatusBar = Application.StatusBar & "." Else Application.StatusBar = "処理中" & "." End If End Sub
整数部・小数部の分離応用:整数は下2桁、小数は上3桁で表示する
<分類:値抜き取り>
<使用例:123.4567という小数点を含む値を整数部下2桁(23)と小数部上3桁(456)に分ける>
<プログラム例>
Sub 使用例() Dim s As String Dim rtn1 As String Dim rtn2 As String '123.4567 s = "123.4567" Call 部品_小数分離(s, rtn1, rtn2) rtn1 = Right(rtn1, 2) rtn2 = Left(rtn2, 3) MsgBox (s & "の整数部(下2桁)は" & rtn1 & " 小数部(上3桁)は" & rtn2 & "です") End Sub Sub 部品_小数分離(p1, r1, r2) 'p1:値1 'r1:整数部 'r2:小数部 Dim ne1 As String Dim ne2 As String Dim nelens As Long nelens = Len(p1) If InStr(p1, ".") > 0 Then '整数部の取り出し ne1 = Mid(p1, 1, InStr(p1, ".") - 1) '小数部の取り出し ne2 = Mid(p1, InStr(p1, ".") + 1, nelens) Else ne1 = p1 ne2 = 0 End If r1 = ne1 r2 = ne2 End Sub