Microsoft Word'de Rakamları Metne Dönüştürme

Kerem Aydın·11 Temmuz 2026·⏱4 dk

Word'de sayıları yazıyla yazmak için {=sayı \* CardText} formüllü bir alan kullanın. Sayıyı seçin, Ctrl+F9 tuşlarına basın, küme parantezleri içine formülü girin ve sonucu F9 tuşuyla güncelleyin. Bu yöntem, üçüncü taraf programlar kurmadan çalışır ve sözleşmeler, faturalar ve resmi belgeler için uygundur. Süreci otomatikleştirmek veya çok büyük sayılarla çalışmak için VBA makroları kullanılır.

İçindekiler

Hızlı Yöntem: Alanlar ve Formüller

Yerleşik "Alan" aracı, tam sayıları metin görünümüne dönüştürmenize olanak tanır. Bu, programlama gerektirmeyen en güvenilir yöntemdir.

Adım Adım Uygulama

  1. Yazıya çevrilecek sayıyı yazın (örneğin, 1250).
  2. İmleci kullanarak bu sayıyı seçin.
  3. Ctrl + F9 tuş kombinasyonuna basın. Sayının etrafında küme parantezleri { } görünecektir.
    • Önemli: Küme parantezleri klavyeden manuel olarak yazılamaz, yalnızca kısayol tuşuyla oluşturulur.
  4. Parantezlerin içinde, sayının önüne eşittir işaretini ve özel anahtarı ekleyin. Şu şekilde görünmelidir: { =1250 \* CardText }
    • Boşluklara dikkat edin: = sonrasında boşluk zorunlu değildir, ancak \* öncesinde gereklidir. Ters eğik çizgi \ zorunludur.
  5. Alanı güncellemek için F9 tuşuna basın. Sayı metinle değiştirilecektir: "bin iki yüz elli".

Orijinal sayıyı korumak ve yanına yazılı halini eklemek istiyorsanız, sayıyı kopyalayın, yeni bir yere yapıştırın ve yukarıdaki talimatları kopyaya uygulayın.

Yöntemin Sınırlamaları

Standart CardText anahtarı, 0 ile 999.999 arasındaki tam sayıları doğru şekilde işler. Bir milyondan büyük sayılar için alanların birleştirilmesi veya bir makro kullanılması gerekir.

Dil ve Biçim Ayarlama

Dönüşüm sonucu, mevcut metin parçası veya tüm belge için ayarlanan dile bağlıdır.

Biçimlendirme Anahtarı123 Sayısı İçin SonuçAçıklama
\* CardTextyüz yirmi üçStandart yazım (arayüz/metin diline bağlıdır)
\* OrdTextyüz yirmi üçüncüSıra sayıları
\* CapsYÜZ YİRMİ ÜÇTüm harfler büyük
\* FirstCapYüz yirmi üçİlk harf büyük

Çıktı Dilini Değiştirme

Eğer Rusça kelimeler yerine İngilizce kelimeler alıyorsanız ("one hundred..."):

  1. Formüllü alanı (veya tüm metni) seçin.
  2. Gözden Geçir sekmesine gidin → Dil → Yazım Denetimi Dili.
  3. Rusça seçeneğini seçin ve Tamam'a tıklayın.
  4. F9 tuşuna basarak alanı güncelleyin.

VBA Makroları ile Otomasyon

Büyük tutarlarla düzenli çalışma yapmak için (örneğin muhasebe raporlarında) makro kullanmak daha kolaydır. Bu, sayıları tek tıklamayla dönüştürmenizi sağlar.

999 Milyona Kadar Sayılar İçin Makro

Bu kod, büyük bir sayıyı milyonlara ve binlere ayırır, bunları ayrı ayrı dönüştürür ve doğru ekleri ("milyon", "milyon", "milyon") ekler.

  1. VBA düzenleyicisini açmak için Alt + F11 tuşlarına basın.
  2. Menüde Insert → Module seçeneğini belirleyin.
  3. Aşağıdaki kodu yapıştırın:
Sub ConvertBigNumberToText()
    Dim sNum As String
    Dim lNum As Long
    Dim sResult As String
    
    ' Seçili sayıyı al
    If Selection.Type <> wdSelectionNormal Then
        MsgBox "Dönüştürmek için bir sayı seçin", vbExclamation
        Exit Sub
    End If
    
    sNum = Trim(Selection.Text)
    
    ' Seçimin bir sayı olup olmadığını kontrol et
    If Not IsNumeric(sNum) Then
        MsgBox "Seçili metin bir sayı değil", vbExclamation
        Exit Sub
    End If
    
    lNum = CLng(sNum)
    
    If lNum > 999999999 Then
        MsgBox "Sayı çok büyük (maks. 999 milyon)", vbExclamation
        Exit Sub
    End If
    
    ' Parçalara ayırma mantığı
    If lNum >= 1000000 Then
        Dim lMillions As Long
        Dim lRest As Long
        
        lMillions = lNum \ 1000000
        lRest = lNum Mod 1000000
        
        ' Milyon kısmını oluştur
        Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
            Text:="= " & lMillions & " \* CardText", PreserveFormatting:=True
        Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
        
        ' "milyon" kelimesi için doğru eki ekle
        Dim sMilEnd As String
        Select Case lMillions Mod 100
            Case 11 To 19: sMilEnd = " миллионов "
            Case Else
                Select Case lMillions Mod 10
                    Case 1: sMilEnd = " миллион "
                    Case 2 To 4: sMilEnd = " миллиона "
                    Case Else: sMilEnd = " миллионов "
                End Select
        End Select
        
        sResult = Selection.Text & sMilEnd
        
        ' Kalan kısım varsa, onu ekle
        If lRest > 0 Then
             ' Kalan kısım için alan ekle
             Selection.Collapse Direction:=wdCollapseEnd
             Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
                Text:="= " & lRest & " \* CardText", PreserveFormatting:=True
             sResult = sResult & Selection.Fields(1).Result.Text
        End If
        
        ' Seçimi nihai metinle değiştir
        Selection.Delete
        Selection.TypeText Text:=sResult
    Else
        ' Bir milyondan küçük sayılar için standart alanı kullan
        Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
            Text:="= " & lNum & " \* CardText", PreserveFormatting:=True
        Selection.Fields.Update
    End If
End Sub
  1. VBA düzenleyicisini kapatın.
  2. Çalıştırmak için: Belgedeki sayıyı seçin, Alt + F8 tuşlarına basın, ConvertBigNumberToText seçeneğini belirleyin ve Çalıştır düğmesine tıklayın.

Makrolar Word'ün web sürümünde (Word Online) ve mobil uygulamalarda çalışmaz. Programın masaüstü sürümünü kullanın.

Yöntemlerin Karşılaştırılması

ÖzellikAlan { = \* CardText }VBA Makrosu
Öğrenme ZorluğuDüşük (3 adım)Orta (kod eklemesi gerekir)
Sayı Aralığı999.999'a kadar (ek ayar olmadan)999.999.999 ve üzeri
Çalışma HızıTekil durumlar için hızlıBelge akışı için anlık
EsneklikMetin diline bağlıHerhangi bir biçime göre ayarlanabilir
GüvenlikKesinlikle güvenliMakroların çalıştırılmasına izin verilmesini gerektirir

Sık Yapılan Hatalar

  1. "Geçersiz alan anahtarı!" veya "#Hata!" hatası

    • Neden: \* CardText anahtarında yazım hatası veya ters eğik çizgi \ eksikliği.
    • Çözüm: Alan kodunu görmek için Shift + F9 tuşlarına basın, sözdizimini kontrol edin ve tekrar F9 tuşuna basın.
  2. F9'a basıldığında sayı değişmiyor

    • Neden: Alan kilitli veya ayarlarda alan güncellemeleri devre dışı bırakılmış.
    • Çözüm: Tüm belgeyi seçin (Ctrl + A) ve F9 tuşuna basın. İmlecin alanın içinde olduğundan emin olun.
  3. Metin İngilizce dilinde

    • Neden: Parçanın dili İngilizce olarak tanımlanmış.
    • Çözüm: Seçili alan için yazım denetimi dilini Rusça olarak değiştirin ("Dil Ayarlama" bölümüne bakın).
  4. Ondalık sayılar çalışmıyor

    • Neden: CardText anahtarı yalnızca tam sayılarla çalışır.
    • Çözüm: Tam kısmı ve ondalık kısmı ayırın. Tam kısmı yazıya çevirin, ondalık kısmı manuel olarak "00 kopek" veya benzeri şekilde yazın.

SSS

İlk harfin büyük, diğerlerinin küçük olmasını sağlayabilir miyim? Evet, birleşik anahtar kullanın: { =123 \* CardText \* FirstCap }. Sonuç: "Yüz yirmi üç".

Formüllü alanı normal metne nasıl dönüştürürüm? Belgeyi müşteriye göndermeniz gerekiyorsa ve rakamların yanlışlıkla değiştirilmesini istemiyorsanız, alanı seçin ve Ctrl + Shift + F9 tuşlarına basın. Bu, formülle olan bağı koparır ve yalnızca metin sonucunu bırakır.

Bu yöntem Word 2007, 2010, 2016, 2019, 2021 ve 365'te çalışıyor mu? Evet, alanlar (Fields) işlevi temel bir özelliktir ve tüm modern Microsoft Word sürümlerinde desteklenir.