एक्सेल डेटा को वर्ड में कुशलतापूर्वक मर्ज करना
विभिन्न प्लेटफार्मों पर डेटा प्रबंधित करना एक बोझिल काम हो सकता है, खासकर जब आपको एक्सेल से वर्ड दस्तावेज़ में कई तालिकाओं को संकलित करने की आवश्यकता होती है। वीबीए का उपयोग करके, आप वांछित प्रारूप और संरचना को बनाए रखते हुए डेटा के निर्बाध हस्तांतरण को सुनिश्चित करते हुए इस प्रक्रिया को स्वचालित कर सकते हैं।
यह आलेख एक वीबीए मैक्रो की खोज करता है जो वर्तमान में एक्सेल तालिकाओं से तीन अलग-अलग वर्ड दस्तावेज़ बनाता है। हम स्पष्टता और संगठन के लिए प्रत्येक तालिका के बाद पेज ब्रेक के साथ, एक ही वर्ड दस्तावेज़ में सभी तालिकाओं को बनाने के लिए कोड को संशोधित करने का तरीका प्रदर्शित करेंगे।
आज्ञा | विवरण |
---|---|
Set wdApp = New Word.Application | Word एप्लिकेशन का एक नया उदाहरण आरंभ करता है। |
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 | Word एप्लिकेशन में एक नया दस्तावेज़ बनाता है। |
तालिकाओं के संयोजन के लिए वीबीए मैक्रो को समझना
प्रदान की गई स्क्रिप्ट दर्शाती है कि वीबीए का उपयोग करके एकाधिक एक्सेल तालिकाओं से डेटा को एकल वर्ड दस्तावेज़ में स्थानांतरित करने की प्रक्रिया को कैसे स्वचालित किया जाए। मुख्य लिपि, , वर्ड एप्लिकेशन के एक नए इंस्टेंस को आरंभ करता है और का उपयोग करके एक नया दस्तावेज़ बनाता है . यह Excel में उन पंक्तियों की पहचान करता है जहां तालिकाएँ रिक्त कक्षों की जाँच करके समाप्त होती हैं और इन स्थितियों को वेरिएबल्स में संग्रहीत करती हैं First और . यह स्क्रिप्ट को यह जानने की अनुमति देता है कि प्रत्येक तालिका कहां समाप्त होती है और कहां शुरू होती है। फिर मैक्रो का उपयोग करके Word में तालिकाएँ बनाई जाती हैं और इन तालिकाओं को एक्सेल के डेटा से भर देता है।
यह सुनिश्चित करने के लिए कि प्रत्येक तालिका स्पष्ट रूप से अलग है, स्क्रिप्ट प्रत्येक तालिका के उपयोग के बाद एक पृष्ठ विराम सम्मिलित करती है . प्रत्येक तालिका को बनाने और प्रारूपित करने के लिए सबरूटीन को तीन बार कॉल किया जाता है। यह सबरूटीन हेडर को परिभाषित करता है, पंक्तियों और स्तंभों को पॉप्युलेट करता है, और तालिकाओं पर बॉर्डर शैलियों को लागू करता है और With wdTbl.Borders. अंत में, मैक्रो वर्ड एप्लिकेशन की दृश्यता को सत्य पर सेट करता है , यह सुनिश्चित करते हुए कि उपयोगकर्ता जेनरेट किए गए दस्तावेज़ को देख सकता है। यह दृष्टिकोण स्पष्टता और प्रारूप को बनाए रखते हुए एक्सेल से कई तालिकाओं को एक ही वर्ड दस्तावेज़ में प्रभावी ढंग से समेकित करता है।
एकाधिक एक्सेल तालिकाओं को एक वर्ड दस्तावेज़ में समेकित करना
यह स्क्रिप्ट दर्शाती है कि प्रत्येक तालिका के बाद पेज ब्रेक के साथ एकाधिक तालिकाओं को एक ही वर्ड दस्तावेज़ में संयोजित करने के लिए 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 का उपयोग करती है।
Sub MergeTablesIntoWord()
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
Set wdTbl = wdDoc.Tables.Add(Range:=wdDoc.Range, NumRows:=2, NumColumns:=lCol)
PopulateTable wdTbl, xlSht, 1, First, lCol
wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak
Set wdTbl = wdDoc.Tables.Add(Range:=wdDoc.Range, NumRows:=2, NumColumns:=lCol)
PopulateTable wdTbl, xlSht, First + 1, Second, lCol
wdDoc.Characters.Last.InsertBreak Type:=wdPageBreak
Set wdTbl = wdDoc.Tables.Add(Range:=wdDoc.Range, NumRows:=2, NumColumns:=lCol)
PopulateTable wdTbl, xlSht, Second + 1, lRow, lCol
End With
End Sub
Sub PopulateTable(wdTbl As Word.Table, xlSht As Worksheet, startRow As Integer, endRow As Integer, lCol As Integer)
Dim r As Integer, c As Integer
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 के साथ वर्ड में टेबल्स बनाना और फ़ॉर्मेट करना
वीबीए का उपयोग करके एक्सेल से वर्ड में डेटा के हस्तांतरण को स्वचालित करते समय, यह समझना महत्वपूर्ण है कि तालिकाओं को प्रभावी ढंग से कैसे प्रबंधित और प्रारूपित किया जाए। एक प्रमुख पहलू यह सुनिश्चित करना है कि संरचना और पठनीयता दोनों को बनाए रखते हुए डेटा सही ढंग से स्थानांतरित किया जाए। इसके लिए VBA कमांड को समझने की आवश्यकता है जो तालिका निर्माण, फ़ॉर्मेटिंग और पेज ब्रेक के सम्मिलन को नियंत्रित करते हैं। उदाहरण के लिए, आदेश Excel डेटा के आधार पर पंक्तियों और स्तंभों की संख्या निर्दिष्ट करते हुए, Word दस्तावेज़ में एक नई तालिका जोड़ने के लिए उपयोग किया जाता है।
एक अन्य महत्वपूर्ण तत्व तालिका को स्वरूपित करना है। जैसे आदेश हेडर दर्शाते हुए पहली पंक्ति को बोल्ड बनाएं तालिका के अंदर और बाहर दोनों लाइनों के लिए बॉर्डर शैलियों को सेट करने के लिए उपयोग किया जाता है। इसके अलावा, यह सुनिश्चित करने के लिए कि प्रत्येक तालिका एक अलग पृष्ठ पर दिखाई दे, पृष्ठ विराम सम्मिलित करना आवश्यक है, जिसका उपयोग किया जाता है . ये आदेश सामूहिक रूप से यह सुनिश्चित करते हैं कि अंतिम दस्तावेज़ सुव्यवस्थित और पेशेवर रूप से प्रारूपित है।
वर्ड और एक्सेल के लिए वीबीए मैक्रोज़ के बारे में अक्सर पूछे जाने वाले प्रश्न
- मैं वीबीए का उपयोग करके एक नया वर्ड एप्लिकेशन कैसे शुरू करूं?
- उपयोग Word एप्लिकेशन का एक नया उदाहरण प्रारंभ करने के लिए।
- मैं VBA का उपयोग करके किसी Word दस्तावेज़ में पेज ब्रेक कैसे सम्मिलित कर सकता हूँ?
- के साथ एक पेज ब्रेक डालें .
- मैं VBA का उपयोग करके किसी Word दस्तावेज़ में तालिका कैसे जोड़ूँ?
- का उपयोग करके एक तालिका जोड़ें .
- मैं तालिका की पहली पंक्ति को हेडर के रूप में कैसे प्रारूपित कर सकता हूं?
- पहली पंक्ति को हेडर के रूप में सेट करें और इसे प्रयोग करके बोल्ड बनाएं .
- मैं VBA का उपयोग करके Word में किसी तालिका के लिए सीमाएँ कैसे निर्धारित करूँ?
- के साथ सीमाएँ निर्धारित करें , अंदर और बाहर की रेखाओं के लिए शैलियाँ निर्दिष्ट करना।
- मैं वीबीए में वर्ड एप्लिकेशन को उपयोगकर्ता के लिए कैसे दृश्यमान बना सकता हूं?
- दृश्यता को इसके साथ सेट करें .
- यदि वर्तमान पंक्ति मौजूदा पंक्ति संख्या से अधिक हो तो किसी तालिका में नई पंक्ति जोड़ने के लिए किस कमांड का उपयोग किया जाता है?
- के साथ एक नई पंक्ति जोड़ें .
- मैं VBA का उपयोग करके Word में एक नया दस्तावेज़ कैसे बना सकता हूँ?
- के साथ एक नया दस्तावेज़ बनाएं .
VBA का उपयोग करके एकाधिक Excel तालिकाओं को एक एकल Word दस्तावेज़ में संयोजित करना डेटा स्थानांतरण और फ़ॉर्मेटिंग की प्रक्रिया को सुव्यवस्थित करता है। तालिका निर्माण, फ़ॉर्मेटिंग और पेज ब्रेक को स्वचालित करके, मैक्रो यह सुनिश्चित करता है कि अंतिम दस्तावेज़ सुव्यवस्थित और पेशेवर रूप से प्रस्तुत किया गया है। यह दृष्टिकोण समय बचाता है और त्रुटियों के जोखिम को कम करता है, जिससे यह विभिन्न प्लेटफार्मों पर डेटा को प्रबंधित और प्रस्तुत करने के लिए एक कुशल समाधान बन जाता है।