Microsoft Excel'de VBA kullanarak çalışma sayfası bilgilerini Word'e kopyalayın

Anonim

Birden çok excel çalışma sayfasından MS Word'e veri kopyalayıp yapıştırmanız gerekiyorsa, bu makaleyi okumalısınız. Excel'de, verileri excel çalışma kitabından word dosyasına dönüştürmenize izin verecek böyle bir özellik yoktur. Word uygulaması excel dosyalarını doğrudan açamaz. Ancak, excel verileri kopyalanıp word'e yapıştırılabilir ve ardından word belgesi olarak kaydedilebilir.
Hepimiz Excel'den word'e manuel olarak veri aktarıyoruz, bu bazen aynı adımları gün içinde çok fazla yapmak söz konusu olduğunda can sıkıcı hale geliyor; Manuel adımlardan kaçınmak için tüm adımları yapmak için VBA kodu yazacağız.

Bu yazıda excel'den word belgesine veri taşımaya odaklanacağız. Tüm prosedürü VBA kodu ile otomatikleştireceğiz. Makro koduyla, verileri bir seferde bir çalışma sayfasında kopyalayabilirsiniz ve ardından word uygulaması otomatik olarak başlatılır ve VBA kodu, verileri doc dosyasına eklemek için yapıştır komutunu kullanır.

Kodu almak için; VB editörünü başlatmak için aşağıdaki adımları izlememiz gerekiyor:

  • Geliştirici sekmesine tıklayın
  • Kod grubundan Visual Basic'i seçin

  • Kaçırmamanız gereken önemli bir adım var
  • Referansları seçmek için Araçlar'a tıklayın
  • “Microsoft Word 15.0 Nesne Kitaplığı”nı bulana kadar aşağı kaydırın
  • Kutuyu işaretlediğinizden emin olun; aşağıdaki resme bakın

  • Aşağıdaki kodu standart modüle kopyalayın
Sub CopyWorksheetsToWord() Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet Application.ScreenUpdating = False Application.StatusBar = "Yeni belge oluşturuluyor… " wdApp = New Word.Application Set wdDoc = wdApp.Documents.Add ActiveWorkbook.Worksheets Application.StatusBar = " & ws.Name & "… " öğesinden veri kopyalanıyor ws.UsedRange.Copy wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphSonra wdDoc.Paragraphs(wdDoc.Paragraphs) .Count).Range.Paste Application.CutCopyMode = False wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter If Not ws.Name = Worksheets(Worksheets.Count).Name Sonra wdDoc.Paragraphs(wdDoc.Paragraphs(wdDoc. Count).Range .InsertParagraphBefore .Collapse Direction:=wdCollapseEnd .InsertBreak Type:=wdPageBreak End With End If Next ws Set ws = Nothing Application.StatusBar = "Temizleniyor… " wdApp.ActiveWind If .View.SplitSpecial = wdApp.ActiveWind ile. ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView End If End With Set wdDoc = Nothing wdApp.Visible = True Set wdApp = Nothing Application.StatusBar = False End Sub 

Kodu test etmek için 2 sayfa ekleyelim ve rastgele sayılar ekleyelim. Her iki çalışma sayfasının da anlık görüntüsü aşağıdadır:

1. Sayfa:-

2. Sayfa:-

  • Çalışma sayfalarındaki verileri kurduktan sonra; makroyu çalıştırabiliriz
  • Word uygulaması hemen başlatılacak ve veriler tüm çalışma sayfalarından word'e kopyalanacak; aşağıdaki anlık görüntüye bakın

Verileri kopyalamanın bir görev olduğunu düşünüyorsanız, ancak herkesin her çalışma sayfasındaki veriler arasındaki farkı kolayca yapabilmesi için her çalışma sayfası verileri arasında bir sayfa sonu olmalıdır.

Yukarıdaki veriler bir sayfadan kopyalanacak ve ardından VBA kodu, sayfalar arasına sayfa sonu eklediğinizden emin olacaktır.

Çözüm: Bu şekilde, verileri excel dosyasından word'e dönüştürmenin biraz karmaşık veya imkansız olduğunu düşünen birçok Microsoft Office kullanıcısına yardımcı olabiliriz. Yukarıdaki kod, birden fazla excel sayfasından word doc dosyasına herhangi bir karışıklık olmadan veriyi word dosyasına ne kadar kolay kopyalayıp yapıştırabileceğini göstermiştir.

Bloglarımızı beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.

Sizden haber almayı çok isteriz, işimizi nasıl iyileştirebileceğimizi, tamamlayabileceğimizi veya yenileyebileceğimizi ve sizin için daha iyi hale getirebileceğimizi bize bildirin. Bize e-posta sitesinde yazın