Excel sayfasındaki verileri Word tablosuna aktarmak

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
Merhaba,
Bir excel çalışma kitabında ayrı saylarda yer alan verilerim var. Bu sayfalardaki verileri word dosyasında standart halde bulunan bir tabloya aktarmak istiyorum.
Her bir sayfadaki veri ayrı bir tabloya aktarılacak. Oldukça fazla verim olduğu için ve bu işlemi sürekli tekrarlayacağım için yardımlarınıza ihtiyacım var.
Örnek excel ve olması gereken word dosyasını ekledim.
Şimdiden teşekkür ederim.
Verinin alınacağı Excel Dosyası : https://s2.dosya.tc/server16/r2mjs5/alinacak_veri.xlsx.html
Verinin aktarılacağı word dosyası : https://s6.dosya.tc/server6/d4d6uh/tablo_yapilacak.docx.html
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba,

Boş bir Word dosyası açın.
Ekle / Nesne / Microsoft Excel Çalışma Sayfası /
Mevcut Excel sayfasını kopyalayıp Word üzerine koyduğunuz excel sayfasına yapıştırın, sayfa görünüşünü ayarlayın.

Daha da basiti
Boş word dosyası açın / Excel dosyanızı Word üzerine Sürükle-Bırak / sayfa görünüşününü ayarlayın
 

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
Merhaba,

Boş bir Word dosyası açın.
Ekle / Nesne / Microsoft Excel Çalışma Sayfası /
Mevcut Excel sayfasını kopyalayıp Word üzerine koyduğunuz excel sayfasına yapıştırın, sayfa görünüşünü ayarlayın.

Daha da basiti
Boş word dosyası açın / Excel dosyanızı Word üzerine Sürükle-Bırak / sayfa görünüşününü ayarlayın
Merhaba,
ilgilendiğiniz için teşekkür ederim. İçerisinde yüzlerce sayfa barındıran çok sayıda excel dosyam var. Ben bunları aynı formatta makro kodu ile daha hızlı yapmak istiyorum. Çünkü ; bu işlem neredeyse rutin yapacağım bir işlem olacak. Acaba söylediğiniz yöntemi her sayfa için tek tek uygulamak mı gerekiyor ?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Word makroları hakkında bilgim sınırlı, nasıl yapılır bilmiyorum.

Sanırım biyoloksunuz, belki de master yapıyorsunuz.
Bu durumda Word dosyanızı Sunu olarak hazırlayacaksanız tek tek yapmanız gerekebilir.
Bunu değil de Word üzerinde soft olarak kalacaksa excel dosyasını eklediğinizde diğer tüm sayfalara erişim word üzerinden olacaktır.
 

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
Merhaba

Word makroları hakkında bilgim sınırlı, nasıl yapılır bilmiyorum.

Sanırım biyoloksunuz, belki de master yapıyorsunuz.
Bu durumda Word dosyanızı Sunu olarak hazırlayacaksanız tek tek yapmanız gerekebilir.
Bunu değil de Word üzerinde soft olarak kalacaksa excel dosyasını eklediğinizde diğer tüm sayfalara erişim word üzerinden olacaktır.
hayır biyolog değilim ben. Word dosyasındaki gibi olacak. Umarım forumdan birisi yardım eder :)
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Word uygulamasında postalar işlemine göz atın. Veriler teker satırda ise istediğinizi yaparsınız.

Çalışma kitabındaki asıl verileriniz yeni açacağınız 1 sayfaya uygun başlıklarda toplayıp yapılabilir.



Edit.
Şablonu sonradan fark ettim, tüm verileri tek sayfada birleştirme için olmaz.
 
Son düzenleme:
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Merhaba
Exceldeki sayfalarda sütun sayıları farklı, word dosyasıdaki tablolar da ayrıca farklı, bu konularda açıklama getirirseniz, makro konusunda yardımcı olabilirim.
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Merhaba
Excel ve word dosyaları aynı klasörde olsun.
Aşağıdaki kodları word de bir modül oluşturup, yapıştırın.
Kod:
Sub ff()
say = ActiveDocument.Tables.Count
If say > 0 Then
Selection.EndKey unit:=wdStory, Extend:=wdMove
    ActiveDocument.Sections.Add
  Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=ActiveDocument.ActiveWindow.Panes(1).Pages.Count
End If
Set objExcel = CreateObject("Excel.Application")
Set xlBook = objExcel.workbooks.Open(FileName:=ActiveDocument.Path & "\alinacak_veri.xlsx")

For i = 1 To xlBook.sheets.Count
  If xlBook.sheets(i).Range("A1").Value = "Divizyo" Then
say = say + 1
Selection.ParagraphFormat.SpaceAfter = 0
Selection.Font.Size = 8
Selection.TypeText Text:="                  Tablo " & say & "           " & xlBook.sheets(i).Name & " noktası birinci dönem fitoplankton türleri ve biyohacimleri"
Selection.TypeParagraph
xlBook.sheets(i).Activate
xlBook.sheets(i).Range(xlBook.sheets(i).Range("A1").CurrentRegion.Address).Copy
Selection.PasteExcelTable False, False, False
ActiveDocument.Tables(say).Select
    Selection.Font.Size = 8
    Selection.Font.Color = wdColorAutomatic
    ActiveDocument.Tables(say).PreferredWidthType = wdPreferredWidthPoints
    ActiveDocument.Tables(say).PreferredWidth = CentimetersToPoints(15)
    ActiveDocument.Tables(say).Borders.InsideLineStyle = wdLineStyleSingle
    ActiveDocument.Tables(say).Borders.OutsideLineStyle = wdLineStyleSingle
    ActiveDocument.Tables(say).Rows.Alignment = wdAlignRowCenter
    ActiveDocument.Tables(say).Shading.BackgroundPatternColor = -738132173
    ActiveDocument.Tables(say).Rows(1).Shading.BackgroundPatternColor = -738148353
    Selection.Rows.HeightRule = wdRowHeightExactly
    Selection.Rows.Height = CentimetersToPoints(0.45)
      Selection.Rows(1).Range.Font.Color = -603914241
    Selection.EndOf
    Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    Selection.Font.Size = 6
    Selection.TypeText Text:=" Kirlilik Göstergesi (* sayısı arttıkça türün toleransı artmaktadır) ve : temiz su göstergesidir." & Chr(10) & "[BAC]: Bacillariophyta, [CHA]: Charophyta, [CHL]: Chlorophyta, [CRY]: Cryptophyta, [CYA]: Cyanobacteria, [EUG]: Euglenophyta, [MİO]: Miozoa, [OCH]: Ochrophyta"
    ActiveDocument.Sections.Add
  Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=ActiveDocument.ActiveWindow.Panes(1).Pages.Count
End If
Next
Selection.TypeBackspace
Selection.Delete unit:=wdCharacter, Count:=1

objExcel.Application.DisplayAlerts = False
objExcel.ActiveWorkbook.Close (True)
objExcel.Quit
objExcel.Application.DisplayAlerts = True
Set objExcel = Nothing
    Set xlBook = Nothing
End Sub
 

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
Merhaba,
Bilgisayarımın ekranı patladığı için geç yazdım. Teşekkür etmek için telefondan giriyorum. Halit hocam ve Ali bey şimdiden teşekkür ederim. Yarın ilk fırsatta deneyip size bilgi vereceğim.
 

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
Merhaba
Excel ve word dosyaları aynı klasörde olsun.
Aşağıdaki kodları word de bir modül oluşturup, yapıştırın.
Kod:
Sub ff()
say = ActiveDocument.Tables.Count
If say > 0 Then
Selection.EndKey unit:=wdStory, Extend:=wdMove
    ActiveDocument.Sections.Add
  Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=ActiveDocument.ActiveWindow.Panes(1).Pages.Count
End If
Set objExcel = CreateObject("Excel.Application")
Set xlBook = objExcel.workbooks.Open(FileName:=ActiveDocument.Path & "\alinacak_veri.xlsx")

For i = 1 To xlBook.sheets.Count
  If xlBook.sheets(i).Range("A1").Value = "Divizyo" Then
say = say + 1
Selection.ParagraphFormat.SpaceAfter = 0
Selection.Font.Size = 8
Selection.TypeText Text:="                  Tablo " & say & "           " & xlBook.sheets(i).Name & " noktası birinci dönem fitoplankton türleri ve biyohacimleri"
Selection.TypeParagraph
xlBook.sheets(i).Activate
xlBook.sheets(i).Range(xlBook.sheets(i).Range("A1").CurrentRegion.Address).Copy
Selection.PasteExcelTable False, False, False
ActiveDocument.Tables(say).Select
    Selection.Font.Size = 8
    Selection.Font.Color = wdColorAutomatic
    ActiveDocument.Tables(say).PreferredWidthType = wdPreferredWidthPoints
    ActiveDocument.Tables(say).PreferredWidth = CentimetersToPoints(15)
    ActiveDocument.Tables(say).Borders.InsideLineStyle = wdLineStyleSingle
    ActiveDocument.Tables(say).Borders.OutsideLineStyle = wdLineStyleSingle
    ActiveDocument.Tables(say).Rows.Alignment = wdAlignRowCenter
    ActiveDocument.Tables(say).Shading.BackgroundPatternColor = -738132173
    ActiveDocument.Tables(say).Rows(1).Shading.BackgroundPatternColor = -738148353
    Selection.Rows.HeightRule = wdRowHeightExactly
    Selection.Rows.Height = CentimetersToPoints(0.45)
      Selection.Rows(1).Range.Font.Color = -603914241
    Selection.EndOf
    Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    Selection.Font.Size = 6
    Selection.TypeText Text:=" Kirlilik Göstergesi (* sayısı arttıkça türün toleransı artmaktadır) ve : temiz su göstergesidir." & Chr(10) & "[BAC]: Bacillariophyta, [CHA]: Charophyta, [CHL]: Chlorophyta, [CRY]: Cryptophyta, [CYA]: Cyanobacteria, [EUG]: Euglenophyta, [MİO]: Miozoa, [OCH]: Ochrophyta"
    ActiveDocument.Sections.Add
  Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=ActiveDocument.ActiveWindow.Panes(1).Pages.Count
End If
Next
Selection.TypeBackspace
Selection.Delete unit:=wdCharacter, Count:=1

objExcel.Application.DisplayAlerts = False
objExcel.ActiveWorkbook.Close (True)
objExcel.Quit
objExcel.Application.DisplayAlerts = True
Set objExcel = Nothing
    Set xlBook = Nothing
End Sub
Merhaba,
söylediklerinizi yaptım. Ancak aşağıdaki gibi dosya bulunamadı hatası alıyorum. word ve excel dosyalarını aynı klasöre aldım. Word'e modül ekleyip kodları yapıştırdım. Çalıştır düğmesine bastım böyle bir hata aldım. Yardımcı olabilir misiniz ?

 

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
linkdeki dosyayı indirin ve deneme yapın
not: kodlar sadece ilk üç sayfa için yazılmıştır.

Halit Bey,
Teşekkür ederim çalıştı. Ancak örnek dosya olduğu için 3 sayfa veri ekledim. Tek çalışma kitabında 20 sayfa olan dosyamda var, 50 sayfa olanda. Rica etsem mevcut sayfaları alacak şekilde revize edebilir miyiz ? Bir de tablo sayıları Hep Tablo 1. diye gidiyor bunu gerekirse elle de düzeltirim de acaba kodda böyle bir düzenleme yapabilir misiniz ? Şimdiden teşekkür ederim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,798
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey,
Teşekkür ederim çalıştı. Ancak örnek dosya olduğu için 3 sayfa veri ekledim. Tek çalışma kitabında 20 sayfa olan dosyamda var, 50 sayfa olanda. Rica etsem mevcut sayfaları alacak şekilde revize edebilir miyiz ? Bir de tablo sayıları Hep Tablo 1. diye gidiyor bunu gerekirse elle de düzeltirim de acaba kodda böyle bir düzenleme yapabilir misiniz ? Şimdiden teşekkür ederim.
Bide bu dosyayı dene

 
Son düzenleme:
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Merhaba, dosyalar aynı klasörde ve Excel dosya adı örnekteki gibi "alinacak_veri.xlsx" ise sorun çıkmaz.
Ayrıca kodlar WORD dosyasına yapıştırılacak.
Not: Biraz daha esnek olması için bir çalışma yapıyorum.
 

hadromer

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
402
Excel Vers. ve Dili
LTSC Professional Plus 2021 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-04-2028
Ali Bey ben silme linkinden indirme linkine ulaştım. Teşekkür ederim çok güzel çalışıyor. Benim hatamdan dolayı bir sütun eksik alıyor. Özür dilerim ben sizin sorunuza yetişemeden siz halletmişsiniz. Word dosyasına "İndikatör (Temiz/Kirli)" başlıklı bir sütun daha ekleyebilecek şekilde revize edebilir misiniz ? Biraz yordum sizi hakkınızı helal edin
 
Üst