Bu makalede, bir Microsoft Excel çalışma sayfası hücresindeki sayısal bir değeri karşılık gelen İngilizce sözcüğe dönüştürmek için kullanabileceğiniz örnek Microsoft Visual Basic for Applications işlevleri yer almaktadır.
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir. Ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
SpellNumber adlı örnek işlevi oluşturma
- Microsoft Excel'i başlatın.
- Visual Basic Düzenleyicisi'ni başlatmak için ALT+F11 tuşlarına basın.
- Ekle menüsünde Modül'ü tıklatın.
- Modül sayfasına aşağıdaki kodu yazın.
Option Explicit
'Ana İşlevi
Function SpellNumber(ByVal MyNumber)
Dim Dollars, Cents, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Bin "
Place(3) = " Milyon "
Place(4) = " Milyar "
Place(5) = " Trilyon "
' Miktarın dize olarak gösterimi.
MyNumber = Trim(Str(MyNumber))
' Yoksa, ondalık konumunun 0 olarak ayarlanması.
DecimalPlace = InStr(MyNumber, ".")
' Sent değerlerini dönüştür ve MyNumber değerini ABD doları olarak ayarla.
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 = "ABD Doları Değil"
Case "Bir"
Dollars = "Bir ABD Doları"
Case Else
Dollars = Dollars & " Dolar"
End Select
Select Case Cents
Case ""
Cents = ", 0 Sent"
Case "Bir"
Cents = ", Bir Sent"
Case Else
Cents = " ve " & Cents & " Sent"
End Select
SpellNumber = Dollars & Cents
End Function
' 100-999 arasındaki bir sayıyı metne dönüştürür
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
' Yüzler basamağını dönüştürür.
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Yüz "
End If
' Onlar ve birler basamaklarını dönüştürür.
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
' 10-99 arasındaki bir sayıyı metne dönüştürür.
Function GetTens(TensText)
Dim Result As String
Result = "" ' Geçici işlev değerini yoksayın.
If Val(Left(TensText, 1)) = 1 Then ' Değer 10-19 arasındaysa...
Select Case Val(TensText)
Case 10: Result = "On"
Case 11: Result = "On bir"
Case 12: Result = "On iki"
Case 13: Result = "On üç"
Case 14: Result = "On dört"
Case 15: Result = "On beş"
Case 16: Result = "On altı"
Case 17: Result = "On yedi"
Case 18: Result = "On sekiz"
Case 19: Result = "On dokuz"
Case Else
End Select
Else ' Değer 20-99 arasındaysa...
Select Case Val(Left(TensText, 1))
Case 2: Result = "Yirmi "
Case 3: Result = "Otuz "
Case 4: Result = "Kırk "
Case 5: Result = "Elli "
Case 6: Result = "Altmış "
Case 7: Result = "Yetmiş "
Case 8: Result = "Seksen "
Case 9: Result = "Doksan "
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ' Birler basamağını al.
End If
GetTens = Result
End Function
' 1-9 arasındaki bir sayıyı metne dönüştürür.
Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "Bir"
Case 2: GetDigit = "İki"
Case 3: GetDigit = "Üç"
Case 4: GetDigit = "Dört"
Case 5: GetDigit = "Beş"
Case 6: GetDigit = "Altı"
Case 7: GetDigit = "Yedi"
Case 8: GetDigit = "Sekiz"
Case 9: GetDigit = "Dokuz"
Case Else: GetDigit = ""
End Select
End Function
SpellNumber örnek işlevini kullanma
Örnek işlevleri kullanarak bir sayıyı yazılı metne dönüştürmek için, aşağıdaki örneklerde gösterilen yöntemlerden birini kullanın:
Yöntem 1: Doğrudan Giriş
Bir hücreye aşağıdaki formülü girerek 32,50 değerini "Otuz İki Dolar ve Elli Sent" metnine dönüştürebilirsiniz:
=SpellNumber(32,50)
Yöntem 2: Hücre başvurusu
Çalışma kitabındaki diğer hücrelere başvurabilirsiniz. Örneğin, A1 hücresine 32,50 sayısını girin ve aşağıdaki formülü başka bir hücreye yazın:
=SpellNumber(A1)
Yöntem 3: İşlev Yapıştır veya İşlev Ekle
Excel 2000 ve Excel 2002'deki
İşlev Yapıştır komutunu ya da Excel 2003'teki
İşlev Ekle komutunu kullanarak bir çalışma sayfasına özel işlev girebilirsiniz.
Excel 2000 ve Excel 2002
İşlev Yapıştır komutunu kullanmak için şu adımları izleyin:
- İstediğiniz hücreyi seçin.
- Standart araç çubuğunda İşlev Yapıştır'ı tıklatın.
- İşlev kategorisi altında Kullanıcı Tanımlı'yı tıklatın.
- İşlev adı altında, SpellNumber işlevini ve sonra da Tamam'ı tıklatın.
- İstediğiniz sayıyı veya hücre başvurusunu girip Tamam'ı tıklatın.
- Son'u tıklatın.
Excel 2003
İşlev Ekle komutunu kullanmak için şu adımları izleyin:
- İstediğiniz hücreyi seçin.
- Standart araç çubuğunda İşlev Ekle'yi tıklatın.
- Veya bir kategori seçin altında Kullanıcı Tanımlı'yı tıklatın.
- İşlev seçin listesinde, SpellNumber işlevini ve sonra da Tamam'ı tıklatın.
- İstediğiniz sayıyı veya hücre başvurusunu girip Tamam'ı tıklatın.