VBA ट्रांसपोज़ (स्टेप बाय स्टेप) - VBA में शीर्ष 2 तरीके

हमने एक्सेल वर्कशीट में ट्रांसफ़ेक्ट फ़ंक्शन को देखा है जब हम किसी भी डेटा टेबल को वर्कशीट में पेस्ट करते हैं, तो ट्रांज़ोज़ क्या करता है कि इससे पंक्तियों और स्तंभों की स्थिति बदल जाती है अर्थात पंक्तियाँ स्तंभ बन जाती हैं और स्तंभ डेटा तालिका में पंक्तियाँ बन जाते हैं, अब चूंकि यह एक वर्कशीट है VBA में कार्य हम VBA में Application.worksheet विधि के साथ इसका उपयोग करते हैं।

VBA में ट्रांज़ैक्शन कैसे करें?

पंक्तियों और स्तंभों को स्विच करना डेटा हेरफेर तकनीकों में से एक है जो लगभग सभी उपयोगकर्ता एक्सेल में करते हैं। क्षैतिज और ऊर्ध्वाधर डेटा को क्षैतिज और ऊर्ध्वाधर डेटा को क्षैतिज में बदलने की प्रक्रिया को एक्सेल में "ट्रांसपोज़" कहा जाता है। मुझे यकीन है कि आप एक नियमित वर्कशीट में ट्रांसपोज़िंग से परिचित होंगे। इस लेख में, हम आपको दिखाएंगे कि वीबीए कोडिंग में ट्रांसपोज़ विधि का उपयोग कैसे करें।

हम दो तरीकों का उपयोग करके VBA में स्थानांतरित कर सकते हैं।

  1. TransPOSE फॉर्मूला का उपयोग कर स्थानांतरण।
  2. संक्रमण विशेष विधि का उपयोग कर संक्रमण।

जब हम ट्रांसपोज़ कर रहे होते हैं, तो हम पंक्तियों को कॉलम और कॉलम को पंक्तियों को स्वैप कर रहे होते हैं। उदाहरण के लिए, यदि डेटा 4 X 3 सरणी में है, तो यह 3 X 4 सरणी बन जाता है।

आइए VBA में पंक्ति को कॉलम स्थानांतरित करने के लिए कुछ उदाहरण देखें।

# 1 - VBA ट्रांसपोस फॉर्मूला का उपयोग कर ट्रांसपोज़ करें

जैसे हम excel में TransPOSE का उपयोग कैसे करते हैं, उसी तरह हम VBA में भी TransPOSE फॉर्मूला का उपयोग कर सकते हैं। हमारे पास VBA में ट्रांसपोज़ सूत्र नहीं है, इसलिए हमें इसे वर्कशीट फ़ंक्शन क्लास के तहत उपयोग करने की आवश्यकता है।

उदाहरण के लिए, नीचे दी गई डेटा छवि देखें।

हम मूल्यों की इस सरणी को स्थानांतरित करने का प्रयास करेंगे। डेटा स्थानांतरित करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: उपप्रकार शुरू करें।

कोड:

Sub Transpose_Example1 () उप सब

चरण 2: सबसे पहले, हमें यह तय करने की आवश्यकता है कि हम डेटा कहां स्थानांतरित करने जा रहे हैं। इसमें, मैंने सेल डी 1 से एच 2 तक संक्रमण के लिए चुना है। तो, VBA कोड को रेंज ("D1: H2") के रूप में दर्ज करें । मान =

कोड:

सब ट्रांस्पोज़_एक्सप्ल १ () रेंज ("डी १: एच २")। मूल्य = अंत उप

चरण 3: अब, उपर्युक्त सीमा में, हमें A1 से लेकर B5 तक के मान की आवश्यकता है। इस खुले "वर्कशीट फंक्शन" क्लास में आने के लिए और "ट्रांसपोज़" फॉर्मूला चुनें।

चरण 4: में Arg 1, डेटा स्रोत रेंज, यानी की आपूर्ति, रेंज ( "A1: D5")

कोड:

उप पारगमन_Example1 () रेंज ("D1: H2")। मान = WorksheetFunction.Transpose (श्रेणी ("A1: D5")) अंतिम उप

ठीक है, हम TransPOSE सूत्र कोडिंग के साथ किया जाता है। अब D1 से H2 श्रेणी की कोशिकाओं में परिणाम देखने के लिए कोड चलाएं।

जैसा कि हमने ऊपर की छवि में देखा है, इसने कोशिकाओं की श्रेणी को कॉलम से पंक्तियों में बदल दिया है।

# 2 - VBA पेस्ट विशेष विधि का उपयोग कर स्थानांतरण

हम पेस्ट विशेष विधि का उपयोग करके भी स्थानांतरित कर सकते हैं। इस उदाहरण के लिए समान डेटा पर भी विचार करें।

डेटा को कॉपी करने के लिए पहली चीज जो हमें करनी है। इसलिए कोड को रेंज ("A1: B5") के रूप में लिखें

कोड:

Sub Transpose_Example2 () रेंज ("A1: B5")। कॉपी एंड सब

अगली बात यह है कि हमें यह तय करने की आवश्यकता है कि हम डेटा को कहां पेस्ट करने जा रहे हैं। इस मामले में, मैंने डी 1 को वांछित गंतव्य सेल के रूप में चुना है।

कोड:

सब ट्रांसपोज़_ एक्सप्लोम 2 () रेंज ("A1: B5")। कॉपी रेंज ("D1")। अंत उप

एक बार वांछित गंतव्य सेल का चयन हो जाने के बाद, हमें "पेस्ट स्पेशल मेथड" का चयन करना होगा।

पेस्ट विशेष के साथ, हम एक कार्यपत्रक में नियमित पेस्ट विशेष विधियों के साथ सभी क्रियाएं कर सकते हैं।

सभी मापदंडों को अनदेखा करें और अंतिम पैरामीटर का चयन करें, अर्थात, स्थानांतरण करें, और इसे TRUE के रूप में बनाएं।

कोड:

सब ट्रांसपोज़_ एक्सप्लोम 2 () रेंज ("A1: B5")। कॉपी रेंज ("D1")

यह भी पिछले विधि की तरह डेटा स्थानांतरित करेगा।

इस तरह, हम पंक्तियों और स्तंभों को पंक्तियों पर स्विच करने के लिए डेटा को स्थानांतरित करने के लिए ट्रांसपोज़ सूत्र या पेस्ट विशेष विधि का उपयोग कर सकते हैं।

याद रखने वाली चीज़ें

  • यदि हम ट्रांसपोज़ वर्कशीट फ़ंक्शन का उपयोग कर रहे हैं, तो डेटा को स्थानांतरित करने के लिए कई पंक्तियों और स्तंभों की गणना करना अनिवार्य है। यदि हमारे पास 5 पंक्तियाँ और 3 कॉलम हैं, तो ट्रांसपोज़ करते समय, यह 3 पंक्तियाँ और 5 कॉलम बन जाते हैं।
  • यदि आप पेस्ट विशेष का उपयोग करते समय समान स्वरूपण चाहते हैं, तो आपको पेस्ट प्रकार के तर्क का उपयोग "xlPasteFatats" के रूप में करना होगा।

आप इस वीबीए ट्रांससेल एक्सेल टेम्पलेट को यहां से डाउनलोड कर सकते हैं - वीबीए ट्रांससेल एक्सेल टेम्प्लेट।

दिलचस्प लेख...