excelden worde sayı biçimi sorun

Katılım
19 Nisan 2025
Mesajlar
6
Excel Vers. ve Dili
office 2019
merhaba, excelden worde tabloları vba kod ile gönderiyorum.

Sub taablo()
Dim wrd As word.Application
Dim dok As word.Document
Dim tablo1 As word.Table

Set wrd = New word.Application
wrd.Visible = True
Set dok = wrd.Documents.Open("E:\ÇALIŞMAAA\rapor.docm")


dok.Tables(1).Cell(2, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 2)


şeklinde. burada sayıları excelde göründüğü gibi almıyor, 1200,000000999999 şeklinde alıyor. ben excelde göründüğü şekilde 1.200,00 şeklinde görünmsini istiyorum. bunu nasıl yapbilirim?
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,579
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
sayıyı Excel'de göründüğü gibi metin olarak formatlamanız gerekli olabilir. Range("B" & 2).Value yerine Range("B" & 2).Text veya Format fonksiyonunu kullanarak sayıyı istenen formatta alarak deneyin

Kodlarınızın tamamı olmasa da olasılıkla şu şekilde çalışabilir


Kod:
Sub taablo()
    Dim wrd As Word.Application
    Dim dok As Word.Document
    Dim tablo1 As Word.Table

    Set wrd = New Word.Application
    wrd.Visible = True
    Set dok = wrd.Documents.Open("E:\ÇALIŞMAAA\rapor.docm")

    ' Excel'deki sayıyı formatlı şekilde al
    dok.Tables(1).Cell(2, 2).Select
    wrd.Selection.TypeText Text:=Format(Range("B" & 2).Value, "#,##0.00")
End Sub
 
Katılım
19 Nisan 2025
Mesajlar
6
Excel Vers. ve Dili
office 2019
sayıyı Excel'de göründüğü gibi metin olarak formatlamanız gerekli olabilir. Range("B" & 2).Value yerine Range("B" & 2).Text veya Format fonksiyonunu kullanarak sayıyı istenen formatta alarak deneyin

Kodlarınızın tamamı olmasa da olasılıkla şu şekilde çalışabilir


Kod:
Sub taablo()
    Dim wrd As Word.Application
    Dim dok As Word.Document
    Dim tablo1 As Word.Table

    Set wrd = New Word.Application
    wrd.Visible = True
    Set dok = wrd.Documents.Open("E:\ÇALIŞMAAA\rapor.docm")

    ' Excel'deki sayıyı formatlı şekilde al
    dok.Tables(1).Cell(2, 2).Select
    wrd.Selection.TypeText Text:=Format(Range("B" & 2).Value, "#,##0.00")
End Sub
Biraz geç oldu ama kurua bakmayın. bu şekilde çalışmadı.."syntax error" hatası veriyor.

Not: Kusura bakmayın, kodu eksik almışım. hata düzeldi. teşekkür ederim.
 
Son düzenleme:
Katılım
19 Nisan 2025
Mesajlar
6
Excel Vers. ve Dili
office 2019
Excel'de göründüğü gibi alması için format koruması yapılarak alınabilir. Dener misiniz;

Kod:
Sub taablo()
    Dim wrd As word.Application
    Dim dok As word.Document
    Dim tablo1 As word.Table
    Dim sayiDegeri As Variant
  
    Set wrd = New word.Application
    wrd.Visible = True
    Set dok = wrd.Documents.Open("E:\ÇALIŞMAAA\rapor.docm")
  
    sayiDegeri = Range("B2").Value
  
    Dim goruntulenentext As String
    goruntulenentext = Format(sayiDegeri, Range("B2").NumberFormat)
  
    dok.Tables(1).Cell(2, 2).Range.Text = goruntulenentext
End Sub

Geç oldu kusura bakmayın. bu şekilde istediğim oldu. teşekkür ederim. yukarıdaki koddan aşağı yukarı 200 adet var. bunu hepsine ayrı ayrı uygulamam gerekecek. for döngüsü kurmak istedim ama yapamadım. çünkü excelden worde 5 tablo her tablo da 60 veri var.
herkese çok teşekkür ederim. sizi daha çok yoracak gibi duruyorum.

not: her koda ayrı ayrı uygulayınca hata verdi. Range(B2) kısmını değiştirmem gerekecek ama o zamanda her birine goruntulenentext ayrı bir isim vererek kurmam gerekecek doğru mu?
 
Katılım
19 Nisan 2025
Mesajlar
6
Excel Vers. ve Dili
office 2019
Üstatlarım, kusura bakmayın ama ben yapamadım. bu seferde çok uzun hatası almaya başladım. dosya ekte gönderdim. bu dosyada yer alan tablolarda for döngüsü kurmam gerekiyor anladığım çok uzun hatasını geçmem için. yada başka bir yolu var mı?

Sub wordtablo()
Dim wrd As word.Application
Dim dok As word.Document
Dim tablo1 As word.Table

Set wrd = New word.Application
wrd.Visible = True
Set dok = wrd.Documents.Open("C:\Users\acer\Desktop\ÇALIŞMAAA\rapor.docm")


dok.Tables(1).Cell(2, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 2)

dok.Tables(1).Cell(3, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 3)

dok.Tables(1).Cell(4, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 4)

dok.Tables(1).Cell(5, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 5)

dok.Tables(1).Cell(6, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 6)

dok.Tables(1).Cell(7, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 7)

dok.Tables(1).Cell(8, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 8)

dok.Tables(1).Cell(9, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 9)

dok.Tables(1).Cell(10, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 10)

dok.Tables(1).Cell(11, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 11)

dok.Tables(1).Cell(12, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 12)

dok.Tables(1).Cell(13, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 13)

dok.Tables(1).Cell(14, 2).Select
wrd.Selection.TypeText Text:=Range("B" & 14)

dok.Tables(1).Cell(2, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 2)

dok.Tables(1).Cell(3, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 3)

dok.Tables(1).Cell(4, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 4)

dok.Tables(1).Cell(5, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 5)

dok.Tables(1).Cell(6, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 6)

dok.Tables(1).Cell(7, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 7)

dok.Tables(1).Cell(8, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 8)

dok.Tables(1).Cell(9, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 9)

dok.Tables(1).Cell(10, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 10)

dok.Tables(1).Cell(11, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 11)

dok.Tables(1).Cell(12, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 12)

dok.Tables(1).Cell(13, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 13)

dok.Tables(1).Cell(14, 3).Select
wrd.Selection.TypeText Text:=Range("C" & 14)

dok.Tables(1).Cell(2, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 2)

dok.Tables(1).Cell(3, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 3)

dok.Tables(1).Cell(4, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 4)

dok.Tables(1).Cell(5, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 5)

dok.Tables(1).Cell(6, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 6)

dok.Tables(1).Cell(7, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 7)

dok.Tables(1).Cell(8, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 8)

dok.Tables(1).Cell(9, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 9)

dok.Tables(1).Cell(10, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 10)

dok.Tables(1).Cell(11, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 11)

dok.Tables(1).Cell(12, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 12)

dok.Tables(1).Cell(13, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 13)

dok.Tables(1).Cell(14, 4).Select
wrd.Selection.TypeText Text:=Range("D" & 14)

dok.Tables(1).Cell(2, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 2)

dok.Tables(1).Cell(3, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 3)

dok.Tables(1).Cell(4, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 4)

dok.Tables(1).Cell(5, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 5)

dok.Tables(1).Cell(6, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 6)

dok.Tables(1).Cell(7, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 7)

dok.Tables(1).Cell(8, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 8)

dok.Tables(1).Cell(9, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 9)

dok.Tables(1).Cell(10, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 10)

dok.Tables(1).Cell(11, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 11)

dok.Tables(1).Cell(12, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 12)

dok.Tables(1).Cell(13, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 13)

dok.Tables(1).Cell(14, 5).Select
wrd.Selection.TypeText Text:=Range("E" & 14)

dok.Tables(1).Cell(2, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 2)

dok.Tables(1).Cell(3, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 3)

dok.Tables(1).Cell(4, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 4)

dok.Tables(1).Cell(5, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 5)

dok.Tables(1).Cell(6, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 6)

dok.Tables(1).Cell(7, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 7)

dok.Tables(1).Cell(8, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 8)

dok.Tables(1).Cell(9, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 9)

dok.Tables(1).Cell(10, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 10)

dok.Tables(1).Cell(11, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 11)

dok.Tables(1).Cell(12, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 12)

dok.Tables(1).Cell(13, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 13)

dok.Tables(1).Cell(14, 6).Select
wrd.Selection.TypeText Text:=Range("F" & 14)

dok.Tables(1).Cell(2, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 2)

dok.Tables(1).Cell(3, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 3)

dok.Tables(1).Cell(4, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 4)

dok.Tables(1).Cell(5, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 5)

dok.Tables(1).Cell(6, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 6)

dok.Tables(1).Cell(7, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 7)

dok.Tables(1).Cell(8, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 8)

dok.Tables(1).Cell(9, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 9)

dok.Tables(1).Cell(10, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 10)

dok.Tables(1).Cell(11, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 11)

dok.Tables(1).Cell(12, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 12)

dok.Tables(1).Cell(13, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 13)

dok.Tables(1).Cell(14, 7).Select
wrd.Selection.TypeText Text:=Range("g" & 14)

dok.Tables(1).Cell(2, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 2)

dok.Tables(1).Cell(3, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 3)

dok.Tables(1).Cell(4, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 4)

dok.Tables(1).Cell(5, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 5)

dok.Tables(1).Cell(6, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 6)

dok.Tables(1).Cell(7, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 7)

dok.Tables(1).Cell(8, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 8)

dok.Tables(1).Cell(9, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 9)

dok.Tables(1).Cell(10, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 10)

dok.Tables(1).Cell(11, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 11)

dok.Tables(1).Cell(12, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 12)

dok.Tables(1).Cell(13, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 13)

dok.Tables(1).Cell(14, 8).Select
wrd.Selection.TypeText Text:=Range("h" & 14)

dok.Tables(1).Cell(2, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 2)

dok.Tables(1).Cell(3, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 3)

dok.Tables(1).Cell(4, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 4)

dok.Tables(1).Cell(5, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 5)

dok.Tables(1).Cell(6, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 6)

dok.Tables(1).Cell(7, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 7)

dok.Tables(1).Cell(8, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 8)

dok.Tables(1).Cell(9, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 9)

dok.Tables(1).Cell(10, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 10)

dok.Tables(1).Cell(11, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 11)

dok.Tables(1).Cell(12, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 12)

dok.Tables(1).Cell(13, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 13)

dok.Tables(1).Cell(14, 9).Select
wrd.Selection.TypeText Text:=Range("ı" & 14)

dok.Tables(1).Cell(2, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 2)

dok.Tables(1).Cell(3, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 3)

dok.Tables(1).Cell(4, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 4)

dok.Tables(1).Cell(5, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 5)

dok.Tables(1).Cell(6, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 6)

dok.Tables(1).Cell(7, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 7)

dok.Tables(1).Cell(8, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 8)

dok.Tables(1).Cell(9, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 9)

dok.Tables(1).Cell(10, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 10)

dok.Tables(1).Cell(11, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 11)

dok.Tables(1).Cell(12, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 12)

dok.Tables(1).Cell(13, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 13)

dok.Tables(1).Cell(14, 10).Select
wrd.Selection.TypeText Text:=Range("j" & 14)

dok.Tables(1).Cell(2, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 2)

dok.Tables(1).Cell(3, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 3)

dok.Tables(1).Cell(4, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 4)

dok.Tables(1).Cell(5, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 5)

dok.Tables(1).Cell(6, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 6)

dok.Tables(1).Cell(7, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 7)

dok.Tables(1).Cell(8, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 8)

dok.Tables(1).Cell(9, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 9)

dok.Tables(1).Cell(10, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 10)

dok.Tables(1).Cell(11, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 11)

dok.Tables(1).Cell(12, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 12)

dok.Tables(1).Cell(13, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 13)

dok.Tables(1).Cell(14, 11).Select
wrd.Selection.TypeText Text:=Range("k" & 14)

dok.Tables(1).Cell(2, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 2)

dok.Tables(1).Cell(3, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 3)

dok.Tables(1).Cell(4, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 4)

dok.Tables(1).Cell(5, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 5)

dok.Tables(1).Cell(6, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 6)

dok.Tables(1).Cell(7, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 7)

dok.Tables(1).Cell(8, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 8)

dok.Tables(1).Cell(9, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 9)

dok.Tables(1).Cell(10, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 10)

dok.Tables(1).Cell(11, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 11)

dok.Tables(1).Cell(12, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 12)

dok.Tables(1).Cell(13, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 13)

dok.Tables(1).Cell(14, 12).Select
wrd.Selection.TypeText Text:=Range("l" & 14)
 
Katılım
19 Nisan 2025
Mesajlar
6
Excel Vers. ve Dili
office 2019
Yardımcı olan herkese çok teşekkür ederim. Sorunum kısmen çözüldü ama bu seferde “procedure too large “ hatası alıyorum. Call fonksiyonu ile geçmeye çalışıyorum ama yapamadım. Nasıl yapabilirim ? Dosya iş için olduğundan paylaşamıyorum.
 
Katılım
19 Nisan 2025
Mesajlar
6
Excel Vers. ve Dili
office 2019
Bu şekilde dener misiniz;

Kod:
Sub WordTablo_Optimize()
    Dim wrd As Word.Application
    Dim dok As Word.Document
    Dim excelSatir As Long, wordSutun As Long
    Dim sutunHarfleri As Variant
   
    sutunHarfleri = Array("B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L")
    Set wrd = New Word.Application
    wrd.Visible = True
    Set dok = wrd.Documents.Open("C:\Users\acer\Desktop\ÇALIŞMAAA\rapor.docm")
   
    For excelSatir = 2 To 14
        For wordSutun = 1 To 11
            Dim excelSutun As String
            excelSutun = sutunHarfleri(wordSutun - 1)
           
            Dim veri As String
            veri = ThisWorkbook.Sheets("Sayfa1").Range(excelSutun & excelSatir).Text
           
            dok.Tables(1).Cell(excelSatir, wordSutun + 1).Range.Text = veri
        Next wordSutun
    Next excelSatir
   
    dok.Save
    dok.Close
    wrd.Quit
   
    MsgBox "Tüm veriler Word tablosuna aktarıldı!", vbInformation
End Sub
Hocam ne yazık ki çalışmadı. Tabloları boş olarak aldı.
 
Üst