표시해야 하는 경우가 자주 발생합니다. Excel에서 우크라이나어로 작성된 숫자 . 예를 들어 문서의 페이지 수를 서면으로 표시합니다.
또한, 회계상 무역거래의 비용은 반드시 문자로 기재되어야 합니다. 예를 들어, 금액
아래에는 VBA에서 미리 만들어진 함수가 있습니다. 이 함수는 모든 숫자를 우크라이나어 텍스트 표현으로 변환합니다. 숫자를 서면으로 . 이 기능은 사용하기 전에 책에 추가해야 합니다.
이를 위해:
Function SUMINWORDS(n As Double, curr As Variant, kop As Variant) As String
' moonexcel.com.ua
Dim Nums1, Nums2, Nums3, Nums4 As Variant
Nums0 = Array("", "одна ", "дві ", "три ", "чотири ", "п'ять ", "шість ", "сім ", "вісім ", "дев'ять ")
Nums1 = Array("", "один ", "два ", "три ", "чотири ", "п'ять ", "шість ", "сім ", "вісім ", "дев'ять ")
Nums2 = Array("", "десять ", "двадцять ", "тридцять ", "сорок ", "п'ятдесят ", "шістдесят ", "сімдесят ", _
"вісімдесят ", "дев'яносто ")
Nums3 = Array("", "сто ", "двісті ", "триста ", "чотириста ", "п'ятсот ", "шістсот ", "сімсот ", _
"вісімсот ", "дев'ятсот ")
Nums4 = Array("", "одна ", "дві ", "три ", "чотири ", "п'ять ", "шість ", "сім ", "вісім ", "дев'ять ")
Nums5 = Array("десять ", "одинадцять ", "дванадцять ", "тринадцять ", "чотирнадцять ", _
"п'ятнадцять ", "шістнадцять ", "сімнадцять ", "вісімнадцять ", "дев'ятнадцять ")
If n < 1 Then
SUMINWORDS = "Нуль " & curr & " " & Round((n - Fix(n)) * 100) & " " & kop
If curr = "" Then
SUMINWORDS = "Нуль"
End If
Exit Function
End If
' 보조 함수 Class를 사용하여 숫자를 숫자로 나눕니다.
ed = Class(n, 1)
dec = Class(n, 2)
sot = Class(n, 3)
tys = Class(n, 4)
dectys = Class(n, 5)
sottys = Class(n, 6)
mil = Class(n, 7)
decmil = Class(n, 8)
sotmil = Class(n, 9)
bil = Class(n, 10)
' 수십억 달러 확인
Select Case bil
Case 1
bil_txt = Nums1(bil) & "мільярд "
Case 2 To 4
bil_txt = Nums1(bil) & "мільярди "
Case 5 To 9
bil_txt = Nums1(bil) & "мільярдів "
End Select
' 수백만 달러 확인
Select Case sotmil
Case 1 To 9
sotmil_txt = Nums3(sotmil)
End Select
Select Case decmil
Case 1
mil_txt = Nums5(mil) & "мільйонів "
GoTo www
Case 2 To 9
decmil_txt = Nums2(decmil)
End Select
Select Case mil
Case 0
If decmil > 0 Then mil_txt = Nums4(mil) & "мільйонів "
Case 1
mil_txt = Nums1(mil) & "мільйон "
Case 2, 3, 4
mil_txt = Nums1(mil) & "мільйона "
Case 5 To 9
mil_txt = Nums1(mil) & "мільйонів "
End Select
If decmil = 0 And mil = 0 And sotmil <> 0 Then sotmil_txt = sotmil_txt & "мільйонів "
www:
sottys_txt = Nums3(sottys)
' 우리는 수천 명을 확인합니다
Select Case dectys
Case 1
tys_txt = Nums5(tys) & "тисяч "
GoTo eee
Case 2 To 9
dectys_txt = Nums2(dectys)
End Select
Select Case tys
Case 0
If dectys > 0 Then tys_txt = Nums4(tys) & "тисяч "
Case 1
tys_txt = Nums4(tys) & "тисячa "
Case 2, 3, 4
tys_txt = Nums4(tys) & "тисячі "
Case 5 To 9
tys_txt = Nums4(tys) & "тисяч "
End Select
If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & " тисяч "
eee:
sot_txt = Nums3(sot)
' 우리는 수십 가지를 확인합니다
Select Case dec
Case 1
ed_txt = Nums5(ed)
GoTo rrr
Case 2 To 9
dec_txt = Nums2(dec)
End Select
ed_txt = Nums0(ed)
rrr:
' 마지막 라인을 형성하다
SUMINWORDS = bil_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt _
& tys_txt & sot_txt & dec_txt & ed_txt & curr & " " & Round((n - Fix(n)) * 100) & " " & kop
If curr = "" Then
SUMINWORDS = bil_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt _
& tys_txt & sot_txt & dec_txt & ed_txt
End If
SUMINWORDS = UCase(Mid(SUMINWORDS, 1, 1)) + Mid(SUMINWORDS, 2)
End Function
' 자릿수 선택을 위한 보조 기능
Private Function Class(M, I)
Class = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1))
End Function
파일을 저장하고 Excel로 돌아갑니다.
이제 생성된 함수를 일반적인 방법으로 이 책의 시트 셀에 삽입할 수 있습니다. 함수 마법사(버튼
수식 입력줄, 카테고리에서 사용자 정의 (User defined) 또는 단순히 셀에 수동으로 입력하고 합계를 인수로 사용하여 셀을 지정하면 됩니다. 또한 함수 매개변수에서 통화 이름(흐리브냐, 달러, 유로 등)과 100분의 1 이름(페니, 센트 등)을 지정할 수 있습니다.
=SUMINWORDS(텍스트; 통화; 백)
매개변수에 있는 경우 "언어" 빈 큰따옴표 삽입( "" ) 그러면 금액이 전체적으로 표시됩니다. 숫자를 서면으로 :