ウィングのHPへようこそ 本文へジャンプ
サンプル一覧へ戻る

数量の書式設定をするVBA


レポートで数量を表示する場合に、その小数点によって書式を変更したい場合があります。
それを実現するファンクションを作成しました。そのファンクションと使用方法を公開します。
<ソース例>

Public Function 数量書式設定(SURYOU As Currency) As String
  'SURYOで指定した数字の小数点位置を調べて、それに応じた書式を返します。
  '対応する小数点は小数点なしから小数点第4位までです。(Currencyで対応できる小数点です)

  Dim KETA As Currency

  KETA = (SURYOU * 1) - Int(SURYOU * 1)
  If KETA = 0 Then   '入力した数字が小数点なしの時
    数量書式設定 = "#,###"
    Exit Function
  End If

  KETA = (SURYOU * 10) - Int(SURYOU * 10)
  If KETA = 0 Then   '入力した数字が小数点第1位の時
    数量書式設定 = "#,##0.0"
    Exit Function
  End If

  KETA = (SURYOU * 100) - Int(SURYOU * 100)
  If KETA = 0 Then   '入力した数字が小数点第2位の時
    数量書式設定 = "#,##0.00"
    Exit Function
  End If

  KETA = (SURYOU * 1000) - Int(SURYOU * 1000)
  If KETA = 0 Then   '入力した数字が小数点第3位の時
    数量書式設定 = "#,##0.000"
    Exit Function
  End If

  KETA = (SURYOU * 10000) - Int(SURYOU * 10000)
  If KETA = 0 Then   '入力した数字が小数点第4位の時
    数量書式設定 = "#,##0.0000"
    Exit Function
  End If

  数量書式設定 = "#,##0.0000"


End Function

<使用方法>
'下記の場合レポートの詳細行に数量というテキストボックスがあり、そこに数量の書式を設定しています
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
  Me!数量.Format = 数量書式設定(Me!数量)
End Sub

サンプル一覧へ戻る
 

Copyright(C) 2006 Wing