VBA का उपयोग करके Excel में डेटा को मैनिप्युलेट कैसे करें

Microsoft Excel एक शक्तिशाली उपकरण है जिसका उपयोग डेटा हेरफेर के लिए किया जा सकता है। अधिकांश सॉफ़्टवेयर बनाने के लिए, आपको VBA का उपयोग करना होगा। एप्लिकेशन या VBA के लिए विज़ुअल बेसिक, एक्सेल उपयोगकर्ताओं को मैक्रोज़ बनाने की क्षमता देता है, जो डेटा हेरफेर और विश्लेषण के लिए शक्तिशाली समय-बचत कस्टम फ़ंक्शन हैं।

बड़े डेटा सेट को प्रबंधित करने के लिए मैक्रोज़ प्रक्रिया VBA कोड है जो अन्यथा संशोधित होने में बहुत समय लेगी। उदाहरण के लिए, VBA के साथ आप अपने निर्धारित मानदंडों को पूरा करने वाले कुछ क्षेत्रों को स्वचालित रूप से प्रारूपित करने के लिए एक मैक्रो बना सकते हैं।

नीचे Excel में उपयोग की गई VBA स्क्रिप्ट का एक उदाहरण है:

उप कॉन्फिगरलॉजिक ()

मंद qstEntries

मंद dqstEntries

मंद qstCnt, dqstCnt

qstEntries = Range ("QualifiedEntry")। गिनती

qst = qstEntries - WorksheetFunction.CountIf (श्रेणी ("अर्हताप्राप्त" "), ")

ReDim QualifiedEntryText (qst)

'MsgBox (qst)

dqstEntries = रेंज ("DisQualifiedEntry")। गिनती

dqst = dqstEntries - WorksheetFunction.CountIf (रेंज ("DisQualifiedEntry"), "")

रिडिमल डिसक्वालीफाईडइंट्रीटेक्स्ट (dqst)

'MsgBox (dqst)

QstCnt के लिए = 1 qst के लिए

QualifiedEntryText (qstCnt) = ThisWorkbook.Worksheets ("Qualifiers")। रेंज ("J" और 8 + qstCnt) .value

'MsgBox (QualifiedEntryText (qstCnt))

लॉगिंग ("कॉन्फ़िगर की गई योग्य प्रविष्टि प्रविष्टि #" और qstCnt और "के रूप में {" और QualifiedEntryText (qstCnt) और "}")

आगामी

DqstCnt के लिए = 1 dqst के लिए

DisqualifiedEntryText (dqstCnt) = ThisWorkbook.Worksheets ("संशोधक")। रेंज ("M" & 8 + dqstCnt) .value

'MsgBox (DisqualifiedEntryText (dqstCnt))

लॉगिंग ("कॉन्फ़िगर की गई अनुशासित प्रविष्टि प्रविष्टि #" और qstCnt & "as {" & DisqualifiedEntryText (dqstCnt) और "}")

आगामी

शामिल करेंइंट्री = ThisWorkbook.Worksheets ("क्वालिफायर")। रेंज ("शामिल करें") मान।

'MsgBox (शामिल करें)

लॉगिंग ("खोज में शामिल किया गया था -" और शामिल करें)

अंत उप

स्प्रेडशीट में प्रविष्टियों का विश्लेषण और हेरफेर कैसे करें

डेटा विश्लेषण के लिए VBA का उपयोग करने के लिए, आपको डेवलपर टूल के लिए Excel में सेटिंग्स की जांच करनी होगी। इसे खोजने के लिए, एक्सेल रिबन का पता लगाएं और डेवलपर टैब को खोजें। यदि यह प्रदर्शित नहीं होता है, तो आपको इसे एक्सेल सेटिंग्स मेनू में सक्रिय करना होगा।

अगला, एक नई वर्कशीट बनाएं और इसे "क्वालिफायर" नाम दें। हम इस शीट का उपयोग उन सभी चीजों की जांच करने के लिए करेंगे जो चयन योग्य हैं।

अगला, कोड के अनुसार क्वालीफायर को शीट पर सेट करें। इसे मैन्युअल रूप से दर्ज किया जाना चाहिए; कट और पेस्ट काम नहीं करेगा।

ThisWorkbook.Worksheets ("क्वालिफायर")। रेंज ("J" और 8 + qstCnt) प्रतिमा।

कैसे सीमा का पता लगाने और एक सरणी का निर्माण करने के लिए

ऊपर फ़ंक्शन में रेंज सेल J9 है। रेंज फ़ंक्शन एक 8 नोट करता है; हालाँकि, वास्तविक सीमा 9 है क्योंकि:

 QstCnt के लिए = 1 qst के लिए 

उपरोक्त कथन 1 पर शुरू होता है। 0. इसलिए, सूची 9 से शुरू होती है। इस मामले में, नोट (qstCnt = 1)।

क्वालिफायर वर्कशीट पर प्रविष्टियों में से एक सरणी का निर्माण करने के लिए, कोशिकाओं को यादृच्छिक शब्दों को J9-J13 में रखें। पंक्तियों के पूरा हो जाने के बाद, हम Excel में डेटा ढूँढने और हेरफेर करने के साथ आगे बढ़ सकते हैं।

 निजी सब काउंटशीट ()

मंद चादर

वर्क्स के रूप में डिम WS

शीतांक = ०

लॉगिंग ("***** शुरू स्क्रब *********")

ThisWorkbook.Worksheets में प्रत्येक WS के लिए

sheetcount = शीतांक + १

अगर WS.Name = "चयनित" तब

"लॉगिंग" नाम की शीट में दिनांक और समय लॉग करना होगा

ActionCnt = ActionCnt + 1

लॉगिंग ("कॉलिंग शीट:" और WS.Name)

स्क्रबशीट (शीटकाउंट)

अन्य

ActionCnt = ActionCnt + 1

लॉगिंग ("शीट पर छोड़ दिया गया:" और WS.Name)

अगर अंत

अगला WS

'MsgBox ("समाप्त")

ActionCnt = ActionCnt + 1

लॉगिंग ("**** स्क्रब डोन!")

Application.ScreenUpdating = True

अंत उप

एक कार्य टैब काउंटर का एक उदाहरण है।

मंद चादर

वर्क्स के रूप में डिम WS

शीतांक = ०

लॉगिंग ("***** शुरू स्क्रब *********")

ThisWorkbook.Worksheets में प्रत्येक WS के लिए

sheetcount = शीतांक + १

शीट की गणना को शुरू करने के बाद, काउंटर को पुनरारंभ करने के लिए इसे 0 पर सेट करें।

लॉगिंग () एक और सबरूटीन है जो चयनों के ऑडिट के लिए सभी कार्यों का ट्रैक रखता है।

अगला लूप गिनती के लिए सक्रिय कार्यपुस्तिका सेट करता है। WS, इनिशियलाइज़्ड और ThisWorkbook है। वर्कशीट पुस्तक में सक्रिय टैब है। चूंकि हमने कार्यपुस्तिका का नाम नहीं दिया है, इसलिए यह मॉड्यूल किसी भी सक्रिय कार्यपुस्तिका पर चलेगा। यदि आप कई वर्कबुक पर काम कर रहे हैं और गलत एक सक्रिय है, तो यह उस पर चलने का प्रयास करेगा। त्रुटियों से बचने के लिए, अपनी विशिष्ट कार्यपुस्तिका को नाम देने के लिए सावधानी बरतें या केवल एक समय में एक पर काम करें।

हर बार लूप में आग लगने के बाद, यह टैब की संख्या पर नज़र रखने के लिए शीट की गिनती में एक चर जोड़ता है। फिर हम यहां जाते हैं:

 अगर WS.Name = "चयनित" तब

"लॉगिंग" नाम की शीट में दिनांक और समय लॉग करना होगा

ActionCnt = ActionCnt + 1

लॉगिंग ("कॉलिंग शीट:" और WS.Name)

स्क्रबशीट (शीटकाउंट)

अन्य

ActionCnt = ActionCnt + 1

लॉगिंग ("शीट पर छोड़ दिया गया:" और WS.Name)

अगर अंत

यहां, हम चयनित टैब की तलाश करते हैं।

यदि चर WS चयनित के बराबर है, तो हम इसे लॉग करते हैं और सबरूटीन स्क्रब शीट को आग देते हैं। यदि चर WS चयनित के बराबर नहीं है, तो यह लॉग किया गया है कि शीट को छोड़ दिया गया था और कार्रवाई को गिना गया है। उपरोक्त कोड इस बात का एक उदाहरण है कि किसी विशेष टैब की संख्या की गणना कैसे की जाए।

निम्नलिखित listng विभिन्न तरीकों में से एक है जो डेटा में हेरफेर करने के लिए इस्तेमाल किया जा सकता है!

मज़े करो!

किसी कार्यपुस्तिका में पत्रक की संख्या की गणना कैसे करें

 मंद ताब

ThisWorkbook.Worksheets में प्रत्येक टैब के लिए

'यहाँ कुछ दिनचर्या

आगामी

वर्कशीट पर अंतिम पंक्ति, कॉलम या सेल का पता लगाएं

 मंद सेलकाउंट

cellcount = प्रकोष्ठ (ThisWorkbook.Worksheets ("वर्कशीट")। Rows.C., 1)। और (xlUp) .Row

उन्नत मानदंड का उपयोग करके फ़िल्टर करें

 श्रेणी ("A2: Z99")। क्रमबद्ध कुंजी 1: = श्रेणी ("A5"), क्रम 1: = xlAscending, Header: = xlNo 

एक कॉलम में ऑटो-फिट प्रॉपर्टी लागू करें

 कॉलम। ( "एक: एक") EntireColumn.AutoFit 

किसी अन्य वर्कशीट से मान प्राप्त करना

 मंद न्यूवल्यू

newvalue = ThisWorkbook.Worksheets ("वर्कशीट")। रेंज ("एफ 1")। मान

एक वर्कशीट में एक कॉलम सम्मिलित करना

 डिम रो, कॉलम

कक्ष (पंक्ति, स्तंभ) .EntireColumn.Select

Selection.Insert

एक वर्कशीट में कई कॉलम डालें

 मंद सम्मिलित करें

डिम रो, कॉलम

सम्मिलित के लिए = 1 से एन

ThisWorkbook.Worksheets ( "वर्कशीट")। का चयन करें

कक्ष (पंक्ति, स्तंभ) .EntireColumn.Select

Selection.Insert

आगामी

एक विशेष पत्रक के लिए एक नामांकित सीमा जोड़ना

 ThisWorkbook.Worksheets ("वर्कशीट")। नाम .dd नाम: = "स्थिति", RefersToR1C1: = "= वर्कशीट! C2"

एक वर्कशीट में पूरी पंक्ति डालें

 डिम रो, कॉलम

कक्ष (पंक्ति, स्तंभ) .EntireRow.Select

Selection.Insert

चिपकाने के लिए एक संपूर्ण पंक्ति की प्रतिलिपि बनाएँ

 ActiveSheet.Range ( "A1")। EntireRow.Select

Selection.Copy

संपूर्ण पंक्ति हटाएं

 ActiveSheet.Range ( "A1")। EntireRow.Select

Selection.Delete

विशेष शीट का चयन करें

 ThisWorkbook.Worksheets ( "वर्कशीट")। का चयन करें 

एक रेंज के मूल्यों की तुलना करें

 मंद पहले

मंद तर्कशील

Logictest = "कुछ शब्द या मूल्य"

यदि (रेंज (पहले)) .value = Logictest) तो

'यहाँ कुछ दिनचर्या

अगर अंत

चित्र: © Microsoft

पिछला लेख अगला लेख

शीर्ष युक्तियाँ