Microsoft Word'de Rakamları Metne Dönüştürme
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
- Yazıya çevrilecek sayıyı yazın (örneğin,
1250). - İmleci kullanarak bu sayıyı seçin.
- 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.
- 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.
- Boşluklara dikkat edin:
- 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 |
|---|---|---|
\* CardText | yüz yirmi üç | Standart yazım (arayüz/metin diline bağlıdır) |
\* OrdText | yüz yirmi üçüncü | Sıra sayıları |
\* Caps | YÜZ YİRMİ ÜÇ | Tüm harfler büyük |
\* FirstCap | Yü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..."):
- Formüllü alanı (veya tüm metni) seçin.
- Gözden Geçir sekmesine gidin → Dil → Yazım Denetimi Dili.
- Rusça seçeneğini seçin ve Tamam'a tıklayın.
- 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.
- VBA düzenleyicisini açmak için Alt + F11 tuşlarına basın.
- Menüde Insert → Module seçeneğini belirleyin.
- 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
- VBA düzenleyicisini kapatın.
- Çalıştırmak için: Belgedeki sayıyı seçin, Alt + F8 tuşlarına basın,
ConvertBigNumberToTextseç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ı
| Özellik | Alan { = \* CardText } | VBA Makrosu |
|---|---|---|
| Öğrenme Zorluğu | Düşü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 |
| Esneklik | Metin diline bağlı | Herhangi bir biçime göre ayarlanabilir |
| Güvenlik | Kesinlikle güvenli | Makroların çalıştırılmasına izin verilmesini gerektirir |
Sık Yapılan Hatalar
-
"Geçersiz alan anahtarı!" veya "#Hata!" hatası
- Neden:
\* CardTextanahtarı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.
- Neden:
-
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.
-
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).
-
Ondalık sayılar çalışmıyor
- Neden:
CardTextanahtarı 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.
- Neden:
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.