VBA सह एकाच शब्द दस्तऐवजात एकाधिक एक्सेल सारण्या एकत्र करणे

VBA सह एकाच शब्द दस्तऐवजात एकाधिक एक्सेल सारण्या एकत्र करणे
VBA सह एकाच शब्द दस्तऐवजात एकाधिक एक्सेल सारण्या एकत्र करणे

वर्डमध्ये एक्सेल डेटा कार्यक्षमतेने विलीन करणे

वेगवेगळ्या प्लॅटफॉर्मवर डेटा व्यवस्थापित करणे हे एक कठीण काम असू शकते, विशेषत: जेव्हा तुम्हाला Excel मधून वर्ड डॉक्युमेंटमध्ये एकाधिक टेबल्स संकलित करण्याची आवश्यकता असते. VBA वापरून, तुम्ही ही प्रक्रिया स्वयंचलित करू शकता, इच्छित स्वरूप आणि संरचना राखून डेटाचे अखंड हस्तांतरण सुनिश्चित करू शकता.

हा लेख VBA मॅक्रो एक्सप्लोर करतो जो सध्या एक्सेल सारण्यांमधून तीन स्वतंत्र वर्ड दस्तऐवज तयार करतो. एका वर्ड डॉक्युमेंटमध्ये सर्व टेबल्स तयार करण्यासाठी कोड कसा बदलायचा हे आम्ही दाखवू, स्पष्टता आणि संस्थेसाठी प्रत्येक टेबलनंतर पेज ब्रेकसह.

आज्ञा वर्णन
Set wdApp = New Word.Application वर्ड ऍप्लिकेशनचा एक नवीन प्रसंग आरंभ करते.
wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak दस्तऐवजाच्या शेवटी पृष्ठ ब्रेक समाविष्ट करते.
.Rows(1).HeadingFormat = True टेबलची पहिली पंक्ती हेडर पंक्ती आहे हे निर्दिष्ट करते.
.Tables.Add(Range:=wdDoc.Range, NumRows:=2, NumColumns:=lCol) निर्दिष्ट पंक्ती आणि स्तंभांसह Word दस्तऐवजात एक नवीन सारणी जोडते.
With wdTbl.Borders टेबलच्या आतील आणि बाहेरील रेषांसाठी सीमा शैली सेट करते.
wdApp.Visible = True शब्द अनुप्रयोग वापरकर्त्यास दृश्यमान करते.
If (r - startRow + 2) >If (r - startRow + 2) > .Rows.Count Then .Rows.Add वर्तमान पंक्ती विद्यमान पंक्ती संख्येपेक्षा जास्त असल्यास सारणीमध्ये नवीन पंक्ती जोडते.
Set wdDoc = .Documents.Add वर्ड ऍप्लिकेशनमध्ये नवीन दस्तऐवज तयार करते.

टेबल एकत्र करण्यासाठी VBA मॅक्रो समजून घेणे

प्रदान केलेल्या स्क्रिप्ट VBA वापरून एकाच वर्ड डॉक्युमेंटमध्ये एकाधिक एक्सेल सारण्यांमधून डेटा हस्तांतरित करण्याची प्रक्रिया स्वयंचलित कशी करावी हे दर्शविते. मुख्य स्क्रिप्ट, Sub ConsolidateTablesInOneDocument(), सह Word ऍप्लिकेशनचे नवीन उदाहरण सुरू करते आणि वापरून नवीन दस्तऐवज तयार करते Set wdDoc = .Documents.Add. हे एक्सेलमधील पंक्ती ओळखते जिथे टेबल रिक्त सेल तपासून संपतात आणि या पोझिशन्स व्हेरिएबल्समध्ये संग्रहित करतात First आणि Second. हे स्क्रिप्टला प्रत्येक टेबल कोठे संपते आणि कुठे सुरू होते हे जाणून घेण्यास अनुमती देते. मॅक्रो नंतर Word मध्ये टेबल वापरून तयार करतो आणि Excel मधील डेटासह ही सारणी भरते.

प्रत्येक सारणी स्पष्टपणे विभक्त आहे याची खात्री करण्यासाठी, स्क्रिप्ट प्रत्येक टेबल वापरून पृष्ठ ब्रेक घालते wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak. द प्रत्येक सारणी तयार करण्यासाठी आणि स्वरूपित करण्यासाठी सबरूटीनला तीन वेळा कॉल केला जातो. हे सबरूटीन हेडर परिभाषित करते, पंक्ती आणि स्तंभ भरते आणि टेबलवर सीमा शैली लागू करते .Rows(1).Range.Font.Bold = True आणि . शेवटी, मॅक्रो वर्ड ऍप्लिकेशनची दृश्यमानता सत्यावर सेट करते wdApp.Visible = True, वापरकर्ता व्युत्पन्न केलेला दस्तऐवज पाहू शकतो याची खात्री करून. हा दृष्टीकोन स्पष्टता आणि स्वरूप राखून, Excel मधील एकाधिक सारण्यांना एकाच वर्ड डॉक्युमेंटमध्ये प्रभावीपणे एकत्रित करते.

एका शब्दाच्या दस्तऐवजात एकाधिक एक्सेल सारण्या एकत्रित करणे

ही स्क्रिप्ट एक्सेलमध्ये VBA चा वापर एका वर्ड डॉक्युमेंटमध्ये एका वर्ड डॉक्युमेंटमध्ये करण्यासाठी कसा करायचा हे दाखवते, प्रत्येक सारणीनंतर पेज ब्रेकसह पूर्ण होते.

Sub ConsolidateTablesInOneDocument()
    Dim wdApp As New Word.Application
    Dim wdDoc As Word.Document
    Dim wdTbl As Word.Table
    Dim xlSht As Worksheet
    Dim lRow As Integer, lCol As Integer
    Dim r As Integer, c As Integer
    Dim Blanks As Integer, First As Integer, Second As Integer
    lRow = Sheets("Feedback Sheets").Range("A1000").End(xlUp).Row - 2
    Blanks = 0
    i = 1
    Do While i <= lRow
        Set rRng = Worksheets("Feedback Sheets").Range("A" & i)
        If IsEmpty(rRng.Value) Then
            Blanks = Blanks + 1
            If Blanks = 1 Then First = i
            If Blanks = 2 Then Second = i
        End If
        i = i + 1
    Loop
    Set xlSht = ActiveSheet: lCol = 5
    With wdApp
        .Visible = True
        Set wdDoc = .Documents.Add
        Call CreateTable(wdDoc, xlSht, 1, First, lCol)
        wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak
        Call CreateTable(wdDoc, xlSht, First + 1, Second, lCol)
        wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak
        Call CreateTable(wdDoc, xlSht, Second + 1, lRow, lCol)
    End With
End Sub
Sub CreateTable(wdDoc As Word.Document, xlSht As Worksheet, startRow As Integer, endRow As Integer, lCol As Integer)
    Dim wdTbl As Word.Table
    Dim r As Integer, c As Integer
    Set wdTbl = wdDoc.Tables.Add(Range:=wdDoc.Range, NumRows:=2, NumColumns:=lCol)
    With wdTbl
        .Rows(1).Range.Font.Bold = True
        .Rows(1).HeadingFormat = True
        .Cell(1, 1).Range.Text = "Header 1"
        If lCol > 1 Then .Cell(1, 2).Range.Text = "Header 2"
        If lCol > 2 Then .Cell(1, 3).Range.Text = "Header 3"
        For r = startRow To endRow
            If (r - startRow + 2) > .Rows.Count Then .Rows.Add
            For c = 1 To lCol
                .Cell(r - startRow + 2, c).Range.Text = xlSht.Cells(r, c).Text
            Next c
        Next r
    End With
    With wdTbl.Borders
        .InsideLineStyle = wdLineStyleSingle
        .OutsideLineStyle = wdLineStyleDouble
    End With
End Sub

VBA सह Word मध्ये Excel डेटा विलीन करणे

ही स्क्रिप्ट VBA ला एक्सेल शीटमधील टेबल्स एकाच वर्ड डॉक्युमेंटमध्ये विलीन करण्यासाठी वापरते, योग्य फॉरमॅटिंग आणि पेज ब्रेक्स सुनिश्चित करते.

VBA सह वर्डमध्ये टेबल्स तयार करणे आणि स्वरूपित करणे

व्हीबीए वापरून एक्सेल ते वर्डमध्ये डेटाचे हस्तांतरण स्वयंचलित करताना, टेबल प्रभावीपणे कसे व्यवस्थापित आणि स्वरूपित करावे हे समजून घेणे महत्वाचे आहे. एक महत्त्वाचा पैलू म्हणजे डेटा योग्यरित्या हस्तांतरित केला गेला आहे याची खात्री करणे, रचना आणि वाचनीयता दोन्ही राखणे. यासाठी VBA कमांड समजून घेणे आवश्यक आहे जे टेबल तयार करणे, स्वरूपन करणे आणि पृष्ठ ब्रेक समाविष्ट करणे नियंत्रित करते. उदाहरणार्थ, आदेश Set wdTbl = wdDoc.Tables.Add(Range:=wdDoc.Range, NumRows:=2, NumColumns:=lCol) वर्ड डॉक्युमेंटमध्ये नवीन टेबल जोडण्यासाठी वापरले जाते, एक्सेल डेटावर आधारित पंक्ती आणि स्तंभांची संख्या निर्दिष्ट करते.

दुसरा महत्त्वाचा घटक म्हणजे टेबलचे स्वरूपन करणे. आज्ञा जसे की .Rows(1).Range.Font.Bold = True प्रथम पंक्ती ठळक करा, शीर्षलेख दर्शवित असताना wdTbl.Borders टेबलच्या आतील आणि बाहेरील दोन्ही ओळींसाठी सीमा शैली सेट करण्यासाठी वापरली जाते. शिवाय, प्रत्येक सारणी वेगळ्या पृष्ठावर दिसते याची खात्री करण्यासाठी पृष्ठ ब्रेक घालणे आवश्यक आहे, जे वापरून केले जाते. wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak. हे आदेश एकत्रितपणे खात्री करतात की अंतिम दस्तऐवज सुव्यवस्थित आणि व्यावसायिक स्वरुपात आहे.

वर्ड आणि एक्सेलसाठी VBA मॅक्रोबद्दल वारंवार विचारले जाणारे प्रश्न

  1. मी VBA वापरून नवीन वर्ड ऍप्लिकेशन कसे सुरू करू?
  2. वापरा वर्ड ऍप्लिकेशनचे नवीन उदाहरण सुरू करण्यासाठी.
  3. VBA वापरून मी वर्ड डॉक्युमेंटमध्ये पेज ब्रेक कसा घालू शकतो?
  4. सह एक पृष्ठ ब्रेक घाला wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak.
  5. VBA वापरून मी वर्ड डॉक्युमेंटमध्ये टेबल कसे जोडू?
  6. वापरून एक टेबल जोडा १७.
  7. हेडर म्हणून मी टेबलची पहिली पंक्ती कशी फॉरमॅट करू शकतो?
  8. सह शीर्षलेख म्हणून पहिली पंक्ती सेट करा १८ आणि वापरून ते ठळक बनवा .Rows(1).Range.Font.Bold = True.
  9. मी VBA वापरून वर्डमधील टेबलसाठी सीमा कशा सेट करू?
  10. सह सीमा सेट करा wdTbl.Borders, आतील आणि बाहेरील ओळींसाठी शैली निर्दिष्ट करणे.
  11. VBA मधील वापरकर्त्यासाठी मी Word अनुप्रयोग कसा दृश्यमान करू शकतो?
  12. सह दृश्यमानता सेट करा wdApp.Visible = True.
  13. वर्तमान पंक्ती विद्यमान पंक्तीच्या संख्येपेक्षा जास्त असल्यास टेबलमध्ये नवीन पंक्ती जोडण्यासाठी कोणती आज्ञा वापरली जाते?
  14. सह एक नवीन पंक्ती जोडा If (r - startRow + 2) > .Rows.Count Then .Rows.Add.
  15. VBA वापरून मी Word मध्ये नवीन डॉक्युमेंट कसे तयार करू?
  16. यासह एक नवीन दस्तऐवज तयार करा Set wdDoc = .Documents.Add.

अंतिम विचार

VBA वापरून एकाच वर्ड डॉक्युमेंटमध्ये अनेक एक्सेल टेबल्स एकत्र केल्याने डेटा ट्रान्सफर आणि फॉरमॅटिंगची प्रक्रिया सुलभ होते. टेबल तयार करणे, स्वरूपन करणे आणि पृष्ठ खंडित करणे स्वयंचलित करून, मॅक्रो हे सुनिश्चित करते की अंतिम दस्तऐवज व्यवस्थित आणि व्यावसायिकरित्या सादर केले गेले आहे. हा दृष्टिकोन वेळेची बचत करतो आणि त्रुटींचा धोका कमी करतो, ज्यामुळे विविध प्लॅटफॉर्मवर डेटा व्यवस्थापित करण्यासाठी आणि सादर करण्यासाठी एक कार्यक्षम उपाय बनतो.