Public Function MoneyToUpper(pass_money As Currency) As String
   Dim i, j, k, m, n, curr_num As Integer
   Dim numstr, bitstr, monstr, tempstr, currstr As String
   
    numstr = "仟佰拾万仟佰拾圆角分"
    bitstr = "零壹贰叁肆伍陆柒捌玖"
    MoneyToUpper = ""
    monstr = Format(pass_money, "0.00")
    m = Len(monstr)
   If (m <> 0) And (pass_money <> 0) Then
      n = 11
      i = n - m + 1
      tempstr = ""
      j = 0
      k = 1
      While (i <= n)
          currstr = Mid(monstr, k, 1)
          If (currstr = "") Or (currstr = ".") Then GoTo nextbit
          curr_num = CInt(Mid(monstr, k, 1))
          If (curr_num <> 0) Then              If (i < 9) Then
                tempstr = tempstr + Mid(bitstr, curr_num * 1 + 1, 1) + Mid(numstr, (i - 1) * 1 + 1, 1)
              Else
                tempstr = tempstr + Mid(bitstr, curr_num * 1 + 1, 1) + Mid(numstr, (i - 1) * 1 + 1, 1)
                j = 0
              End If
         Else
             If i < 4 And j = 0 And InStr(monstr, ".") - 1 >= 6 Then
               If CInt(Mid(monstr, i + 1, 4 - i)) = 0 Then tempstr = tempstr + Mid(numstr, 4, 1)
             End If
             If (j = 0) Then
                tempstr = tempstr + Mid(bitstr, curr_num * 1 + 1, 1)
                j = j + 1
             End If
         End If
 
nextbit:
           If (j <> 0) And (currstr = ".") Then
               tempstr = Mid(tempstr, 1, Len(tempstr) - 1) + "圆"
               j = 0
            End If
            i = i + 1
            k = k + 1
      Wend
        If (j <> 0) Then
            tempstr = Mid(tempstr, 1, Len(tempstr) - 1) + "整"
        End If
      MoneyToUpper = tempstr
  End If
End Function