Programmā Excel nav noklusējuma funkcijas, kas parāda skaitļus darblapas angļu valodas vārdos, taču šo iespēju var pievienot, ielīmējot šādu funkcijas SpellNumber kodu VBA (Visual Basic for Applications) modulī. Šī funkcija ļauj pārvērst dolāru un centu summas par vārdiem, izmantojot formulu, lai 22,50 varētu Twenty-Two dolāri un piecdesmit centi. Tas var būt ļoti noderīgi, ja izmantojat Excel kā veidni, lai izdrukātu pārbaudes.
Ja skaitliskās vērtības vēlaties pārvērst teksta formātā, nerāda tās kā vārdus, izmantojiet funkciju TEXT .
Piezīme.: Microsoft nodrošina programmēšanas piemērus tikai ilustrācijai, bet nekādas garantijas nav izteiktas vai netiešas. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. Šajā rakstā tiek pieņemts, ka pārzināt VBA programmēšanas valodu un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētas procedūras funkcionalitāti. Tomēr tie nemodificēs šos piemērus, lai nodrošinātu papildu funkcionalitāti vai uzbūvēšanas procedūras, kas atbilst jūsu konkrētajām vajadzībām.
Funkcijas SpellNumber izveide skaitļu pārvēršanai vārdos
-
Izmantojiet īsinājumtaustiņus Alt +F11 , lai atvērtu Visual Basic redaktoru (VBE).
Piezīme.: Varat arī piekļūt Visual Basic redaktoram , parādot lentes cilni Izstrādātājs.
-
Noklikšķiniet uz cilnes Ievietošana un pēc tam uz Modulis.
-
Kopējiet tālāk norādītās koda rindiņas.
Piezīme.: Šis kods tiek dēvēts par lietotāja definētu funkciju (User Defined Function - UDF), un tas automatizē uzdevumu pārvērst skaitļus par tekstu visā darblapā.
Option Explicit 'Main Function Function SpellNumber(ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " ' String representation of amount. MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none. DecimalPlace = InStr(MyNumber, ".") ' Convert cents and set MyNumber to dollar amount. If DecimalPlace > 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "One Dollar" Case Else Dollars = Dollars & " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " and " & Cents & " Cents" End Select SpellNumber = Dollars & Cents End Function ' Converts a number from 100-999 into text Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) ' Convert the hundreds place. If Mid(MyNumber, 1, 1) <> "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Convert the tens and ones place. If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function ' Converts a number from 10 to 99 into text. Function GetTens(TensText) Dim Result As String Result = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case Else End Select Else ' If value between 20-99... Select Case Val(Left(TensText, 1)) Case 2: Result = "Twenty " Case 3: Result = "Thirty " Case 4: Result = "Forty " Case 5: Result = "Fifty " Case 6: Result = "Sixty " Case 7: Result = "Seventy " Case 8: Result = "Eighty " Case 9: Result = "Ninety " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ' Retrieve ones place. End If GetTens = Result End Function ' Converts a number from 1 to 9 into text. Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else: GetDigit = "" End Select End Function
-
Ielīmējiet koda rindiņas lodziņā Modulis1 ( kods).
-
Nospiediet taustiņu kombināciju Alt+Q, lai atgrieztos programmā Excel. Funkcija SpellNumber tagad ir gatava lietošanai.
Piezīme.: Šī funkcija darbojas tikai pašreizējā darbgrāmatā. Lai šo funkciju izmantotu citā darbgrāmatā, ir jāatkārto darbības, lai kopētu un ielīmētu kodu šajā darbgrāmatā.
Funkcijas SpellNumber izmantošana atsevišķās šūnās
-
Ierakstiet formulu =SpellNumber(A1) šūnā, kurā vēlaties parādīt ierakstītu skaitli, kur A1 ir šūna, kurā ir skaitlis, ko vēlaties konvertēt. Varat arī manuāli ievadīt vērtību, piemēram, =SpellNumber(22,50).
-
Lai apstiprinātu formulu , nospiediet taustiņu Enter.
Funkcijas SpellNumber darbgrāmatas saglabāšana
Programma Excel nevar saglabāt darbgrāmatu ar makro funkcijām standarta bez makro darbgrāmatas formātā (.xlsx). Ja noklikšķināsit uz > saglabāt. Tiek atvērts dialoglodziņš VB projekts. Noklikšķiniet uz Nē.
Varat saglabāt failu kā Excel Macro-Enabled darbgrāmatu (.xlsm ), lai saglabātu failu pašreizējā formātā.
-
Noklikšķiniet uz Fails un Saglabāt kā.
-
Noklikšķiniet uz nolaižamās izvēlnes Saglabāt kā tipu un atlasiet Excel Macro-Enabled darbgrāmata.
-
Noklikšķiniet uz Saglabāt.