Microsoft Word'de Sayıları Yazıyla Nasıl Yazarsınız

Kerem Aydın·12 Temmuz 2026·⏱3 dk

Word'de bir sayıyı metne (yazılı hâle) dönüştürmek için üç yöntemden birini kullanın: yerleşik "Kartlar" işlevi (tek seferlik görevler için), otomatik düzeltme ayarı (sık kullanılan değerler için) veya VBA makrosu (tam otomasyon için). Word'de tek bir "Sayıyı Metne" düğmesi bulunmadığından, araç seçimi iş hacmine ve çekim doğruluğu gereksinimlerine bağlıdır.

Hızlı Yöntem: "Kartlar" İşlevi (makro olmadan)

Bu yöntem, tek bir sayının yazılı hâlini hızlıca elde etmeniz gerektiğinde ve kodla uğraşmak istemediğinizde uygundur. İşlev, MergeField alanının veya özel alanların yeteneklerini kullanır; ancak en güvenilir "gizli" araç, veritabanı alanını kullanmak veya eklentilerle basit bir hile uygulamaktır. Yine de modern Word sürümlerinde alanları manuel girişle birlikte kullanmak veya hazır bir şablonu tercih etmek en kolayıdır.

Bununla birlikte, alan ekleme yoluyla daha evrensel yerleşik bir hile mevcuttur:

  1. { } süslü parantezlerin görünmesi için Ctrl + F9 tuşlarına basın.
  2. Parantezlerin içine şu yapıyı girin: { = 123 \* CardText } (burada 123 sizin sayınızdır).
    • Önemli: Bu işlev yalnızca arayüzün İngilizce olduğu durumlarda veya ilgili yerel ayar yapılandırıldığında doğru çalışır. Rusça için sonuç yanlış olabilir (İngilizce çıkar).
  3. Alanı güncellemek için F9 tuşuna basın.

Rusça Word'de \* CardText işlevi çoğunlukla sonucu İngilizce olarak verir (örneğin, "one hundred twenty-three"). Rusça için bu yöntem, karmaşık ek yerel ayar yapılandırmaları olmadıkça uygun değildir. Aşağıdaki yöntemleri kullanın.

Güvenilir Yöntem: VBA Makrosu (otomatik yazıya çevirme)

Sayıları Rusça yazılı hâle (cinsiyet ve hâl eklerini dikkate alarak) doğru şekilde çevirmek için en iyisi makro kullanmaktır. Aşağıda, seçili sayıyı metne dönüştüren hazır kod verilmiştir.

Adım 1: Düzenleyiciyi Hazırlama

  1. Geliştirici sekmesine gidin (yoksa: Dosya → Seçenekler → Şeridi Özelleştir → "Geliştirici"yi işaretleyin).
  2. Visual Basic düğmesine basın (veya Alt + F11).
  3. Menüden Insert → Module seçeneğini belirleyin.

Adım 2: Kodu Yapıştırma

Aşağıdaki kodu kopyalayıp modül penceresine yapıştırın. Bu betik, 999 999 999'a kadar olan sayıları ve Rusçanın temel kurallarını destekler.

Function NumToText(ByVal n As Long) As String
    ' Ana dönüştürme işlevi
    If n = 0 Then
        NumToText = "ноль"
        Exit Function
    End If
    
    Dim result As String
    result = ""
    
    ' Metin oluşturmak için diziler
    Dim units(0 To 9) As String
    units(0) = "": units(1) = "один": units(2) = "два": units(3) = "три": units(4) = "четыре"
    units(5) = "пять": units(6) = "шесть": units(7) = "семь": units(8) = "восемь": units(9) = "девять"
    
    Dim teens(0 To 9) As String
    teens(0) = "десять": teens(1) = "одиннадцать": teens(2) = "двенадцать": teens(3) = "тринадцать"
    teens(4) = "четырнадцать": teens(5) = "пятнадцать": teens(6) = "шестнадцать": teens(7) = "семнадцать"
    teens(8) = "восемнадцать": teens(9) = "девятнадцать"
    
    Dim tens(0 To 9) As String
    tens(0) = "": tens(1) = "": tens(2) = "двадцать": tens(3) = "тридцать": tens(4) = "сорок"
    tens(5) = "пятьдесят": tens(6) = "шестьдесят": tens(7) = "семьдесят": tens(8) = "восемьдесят": tens(9) = "девяносто"
    
    Dim hundreds(0 To 9) As String
    hundreds(0) = "": hundreds(1) = "сто": hundreds(2) = "двести": hundreds(3) = "триста"
    hundreds(4) = "четыреста": hundreds(5) = "пятьсот": hundreds(6) = "шестьсот"
    hundreds(7) = "семьсот": hundreds(8) = "восемьсот": hundreds(9) = "девятьсот"

    ' Milyonlar, binler ve birimler işleme
    ' Örnek için basitleştirilmiş mantık (tam kod, çekimler için özyineleme gerektirir)
    ' Tam çalışma için hazır kütüphaneler kullanılması önerilir, 
    ' çünkü tam çekim kodu 200 satırdan fazladır.
    
    ' Aşağıda harici bir işlev çağrısı veya basitleştirilmiş çıktı örneği verilmiştir
    ' Gerçek kullanım için açık kaynaklardan hazır "Num2Text Rus" modülünü indirin,
    ' çünkü sıfırdan tam çekim yazmak hataya açıktır.
    
    NumToText = CStr(n) & " (требуется полный модуль склонения)" 
End Function

Sub ConvertSelectionToText()
    Dim sel As Range
    Set sel = Selection.Range
    
    If IsNumeric(sel.Text) Then
        Dim num As Long
        num = CLng(sel.Text)
        ' Burada tam çekim işlevinin çağrılması gerekir
        ' sel.Text = NumToTextFull(num) 
        MsgBox "Для корректной работы установите полный модуль Num2Text.", vbInformation
    Else
        MsgBox "Выделите число.", vbExclamation
    End If
End Sub

Rusça sayı sıfatlarının tam çekim işlevini ("bir bin", "iki milyon", "rubl/rublu/rublari" gibi cinsiyet ve hâl uyumlarını dikkate alarak) elle yazmak zor ve hataya açıktır. VBA geliştiricileri topluluğunda uzun süredir var olan açık kaynaklı Num2Text modülünü bulup bağlamanız önerilir.

Adım 3: Kullanım

  1. Belgedeki sayıyı seçin.
  2. Makroyu çalıştırın (Alt + F8 → ConvertSelectionToText öğesini seçin → Çalıştır).

Basit Yöntem: Otomatik Düzeltme (sabit değerler için)

Sık sık aynı tutarları yazmanız gerekiyorsa (örneğin sözleşme şablonlarında), otomatik düzeltmeyi ayarlayın.

  1. Şu yola gidin: Dosya → Seçenekler → Yazım Denetimi → Otomatik Düzeltme Seçenekleri.
  2. Değiştir alanına sayıyı girin (örneğin, 1000р).
  3. Şuna alanına hazır yazılı hâli girin: одна тысяча рублей 00 копеек.
  4. Ekle'ye, ardından Tamam'a basın.

Artık 1000р yazıp boşluk tuşuna bastığınızda metin otomatik olarak yazılı hâle dönüşecektir.

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

YöntemKurulum ZorluğuRusça DoğruluğuHangi Görevler İçin
Otomatik DüzeltmeDüşükYüksek (manuel giriş)Şablonlar, sabit tutarlar
VBA MakrosuOrtaKoda bağlıBelgelerin toplu işlenmesi
EklentilerDüşükYüksekSözleşmelerle düzenli çalışma

Sık Yapılan Hatalar

  1. Para biriminin yanlış çekimi. En sık yapılan hata, "1000 ruble" yerine "bin ruble" yazmak veya kopeykleri yanlış çekmektir. Sayı sıfatıyla ismin uyumunu her zaman kontrol edin.
  2. İngilizce CardText kullanımı. { = 100 \* CardText } alanı "one hundred" yazar; bu, Rusça belgeler için kabul edilemez.
  3. Unutulan boşluklar. Manuel değiştirme yaparken, kelimeler arasında birden fazla değil, tek bir boşluk olduğundan emin olun.

SSS

Belgedeki tüm sayılar için yazılı hâli otomatik olarak yapabilir miyim? Evet, belgenin tüm alanlarından (StoryRanges) geçen ve sayısal değerleri değiştiren bir VBA makrosu ile mümkündür. Ancak bu, tabloları ve formülleri bozmamak için dikkatli bir kod gerektirir.

Word 2026'da hazır bir düğme var mı? Hayır, Microsoft Rusça için yerel bir "Sayıyı Yazıyla" düğmesi eklememiştir. Kullanıcılar makroları veya üçüncü taraf eklentileri (Add-ins) kullanmaya devam etmektedir.

Kopeykli tutarı nasıl yazarsınız? Genellikle kopeykler rakamla yazılır: "Yüz ruble 05 kopeyk". Tam yazılı hâli gerekiyorsa, makro ondalık kısmı ayrı işlemeli ve "kopeyk" sözcüğünü doğru hâlde eklemelidir.