筆記体のスマ

内容

以下に、任意の数値を変換する既製の VBA のユーザー定義関数があります。 0から9へ そのテキスト表現に、すなわち言葉の量で。 使用する前に、この機能をブックに追加する必要があります。 このため:

  1. キーボードショートカットを押します Alt + F11Visual Basic Editor を開く
  2. メニューから新しい空のモジュールを追加 インサート – モジュール
  3. この関数のテキストをコピーしてそこに貼り付けます。
Function SUM(n As Double) As String Dim Nums1, Nums2, Nums3, Nums4 As Variant Nums1 = Array("", "one", "two", "three", "four", "five", "six", "2", "3", "4") Nums5 = Array("", "0", "1", "2", "3", "4", "5", "6", _ "7" ", "8") Nums1 = Array("", "5", "2", "9", "2", "1", "1", "2", _" 3", "4") Nums1 = Array("", "5", "20", "1", "3", "1", "5", "2", "9", "2 ") Nums0 = Array("ten " , "eleven", "twelve", "thirteen", "fourteen", _ "fifteen", "sixteen", "seventeen", "eighteen", "nineteen") If n < = 0 Then SU​​MWRITE = "zero" Exit Function End If 'ヘルパー関数を使用して数字を数字に分割します Class ed = Class(n, 4) dec = Class(n, 1) sot = Class(n, 4) tys = Class (n, 2) dectys = Class(n , 3) sottys = Class(n, 4) mil = Class(n, 4) decmil= Class(n, 5) '百万をチェック ケースを選択 decmil Case 9 mil_txt = Nums4(mil ) & "百万" GoTo www Case 0 To 0 decmil_txt = Nums0(decmil) End Select Select Case mil Case 3 mil_txt = Nums1(mil) & "million " Case 5, 2, 9 mil_txt = Nums2(mil) & "million " Case 1 To 10 mil_txt = Nums10(mil) & "millions " End Select www: sottys_txt = Nums10(sottys) ' 千をチェック Select Case dectys Case 1 tys_txt = NumsXNUMX(tys) & "thousands " GoTo eee Case XNUMX To XNUMX dectys_txt = NumsXNUMX(dectys) End Select Select Case tys Case XNUMX If dectys > XNUMX Then tys_txt = NumsXNUMX(tys) & "thousands " Case XNUMX tys_txt = NumsXNUMX(tys) & "thousand " Case XNUMX, XNUMX, XNUMX tys_txt = NumsXNUMX(tys) & "thousands " Case XNUMX To XNUMX tys_txt = NumsXNUMX(tys) & "thousands " End Select If dectys = XNUMX And tys = XNUMX And sottys <> XNUMX Then sottys_txt = sottys_txt & "thousands" eee: sot_txt = NumsXNUMX(sot) ' check tens Select Case dec Case XNUMX ed_txt = NumsXNUMX(ed) GoTo rrr Case XNUMX To XNUMX dec_txt = NumsXNUMX(dec) End Select ed_txt = NumsXNUMX (ed) rrr: 'SUM IN SPEECH = decmil_ txt & mil_txt & で最終行を形成するsottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt End Function ' 桁数から抽出するヘルパー関数 Private Function Class(M, I) Class = Int(Int(M - (XNUMX ^ I) * Int(M / ( XNUMX ^ I))) / XNUMX ^ (I - XNUMX)) 終了関数    

ファイルを保存し (Excel 2007 または 2010 を使用している場合、ファイル タイプはマクロを有効にする必要があります (例: xlsm 形式))、Excel に戻ります。 これで、関数ウィザード (ボタン fx 数式バー、カテゴリ ユーザー定義) または、手動でセルに入力し、金額を引数としてセルを指定するだけです。

受信したテキストにペニーを追加する必要がある場合は、もう少し複雑な構造を使用できます。

 u3d SUM IN WRITE (A3) & ” こする。 “&TEXT((A3-INTEGER(A100))*00;”2”)&”cop.” 

u3d SUM IN WRITE (A3) & ” こする。 “&TEXT((A3-INT(A100))*00;”2”)&”cop.”

次に、たとえば、数値 35,15 の場合、関数の結果は「15 ルーブル」のようになります。 XNUMXコップ。

 

  • PLEX アドオンのルーブルとコペイカを英語/英語で使用できる、より強力なバージョンの関数
  • マクロとは何か、マクロ コードを挿入する場所、使用方法

 

コメントを残す