वीबीए: शीट्स को सीएसवी फाइलों के रूप में कैसे सहेजें (उदाहरण के साथ)
आप किसी कार्यपुस्तिका की प्रत्येक शीट को CSV फ़ाइल में सहेजने के लिए VBA में निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
Sub SaveCSV()
Dim Ws As Worksheet
Dim SaveDir As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "
'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
End Sub
यह विशेष मैक्रो वर्तमान में सक्रिय कार्यपुस्तिका की प्रत्येक शीट को एक CSV फ़ाइल में सहेजेगा।
CSV फ़ाइलें SaveDir वेरिएबल में निर्दिष्ट पथ में सहेजी जाएंगी।
ध्यान दें : एप्लिकेशन.डिस्प्लेअलर्ट्स=गलत लाइन वीबीए को फ़ाइलों को सहेजते समय एक्सेल में सभी डिस्प्ले अलर्ट को अस्थायी रूप से अक्षम करने के लिए कहती है।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण: VBA का उपयोग करके शीट्स को CSV फ़ाइलों के रूप में सहेजें
मान लीजिए हमारे पास दो शीटों वाली एक एक्सेल वर्कबुक है।
पहली शीट को प्लेयर_स्टैट्स कहा जाता है और इसमें विभिन्न बास्केटबॉल खिलाड़ियों के बारे में आँकड़े होते हैं:
दूसरी शीट को Team_info कहा जाता है और इसमें विभिन्न बास्केटबॉल टीमों के बारे में जानकारी होती है:
मान लीजिए कि हम इनमें से प्रत्येक शीट को अपने कंप्यूटर के डेस्कटॉप पर अलग-अलग CSV फ़ाइलों के रूप में सहेजना चाहते हैं।
ऐसा करने के लिए हम निम्नलिखित मैक्रो बना सकते हैं:
Sub SaveCSV()
Dim Ws As Worksheet
Dim SaveDir As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "
'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
End Sub
एक बार यह मैक्रो निष्पादित हो जाने पर, प्रत्येक शीट हमारे डेस्कटॉप पर CSV फ़ाइल के रूप में सहेजी जाएगी।
यदि मैं अपने कंप्यूटर के डेस्कटॉप पर नेविगेट करता हूं, तो मैं इनमें से प्रत्येक व्यक्तिगत CSV फ़ाइलों को फ़ाइल नामों के साथ देख सकता हूं जो शीट नामों से मेल खाते हैं:
यदि मैं नोटपैड का उपयोग करके प्लेयर_स्टैट्स सीएसवी फ़ाइल खोलता हूं, तो मैं देख सकता हूं कि एक्सेल फ़ाइल में मान अल्पविराम से अलग किए गए मानों के रूप में सहेजे गए थे:
ध्यान दें कि इस उदाहरण में हम अपनी कार्यपुस्तिका में दो शीटों को अलग-अलग सीएसवी फ़ाइलों के रूप में सहेजने में सक्षम थे, लेकिन यही मैक्रो किसी भी संख्या में शीट के साथ काम करेगा।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए में अन्य सामान्य कार्य कैसे करें:
वीबीए: किसी कार्यपुस्तिका में शीटों की संख्या कैसे गिनें
वीबीए: किसी अन्य कार्यपुस्तिका से डेटा कैसे निकालें
वीबीए: नई शीट कैसे जोड़ें