कम्प्युटर, सफ्टवेयर
VBA एक्सेल: नमूना कार्यक्रम। एक्सेल मा बृहत
केही मानिसहरू लोकप्रिय माईक्रोसफ्ट एक्सेल उत्पादन को पहिलो संस्करण 1985 मा देखा भनेर थाह छ। तब देखि यो धेरै परिमार्जन र संसारभरि प्रयोगकर्ताहरूको लाखौं माग भइरहेको छ। तर, धेरै काम यस स्प्रिेडसिटको थोडा क्षमताहरु संग मात्र पनि तिनीहरूले जीवन एक्सेल कार्यक्रम गर्ने क्षमता लागि सजिलो बनाउन सक्छ कसरी थाहा छैन।
VBA के हो
एक्सेल मा कार्यक्रम द्वारा मूल माइक्रोसफ्ट देखि सबै भन्दा प्रसिद्ध स्प्रेडसिटमा बनाइएको थियो कि भिजुअल आवेदन लागि मूल कार्यक्रम भाषा गरेको छ।
आफ्नो गुण विशेषज्ञहरु विकास सापेक्षिक सजिलो विशेषता। अभ्यास शो रूपमा, VBA मूल कुराहरू, छैन जो गर्छन् पेशेवर कार्यक्रम कौशल प्रयोगकर्ता पनि मास्टर गर्न सक्नुहुन्छ। VBA लागि सुविधाहरू कार्यालय आवेदन वातावरणमा लिपि कार्यान्वयन समावेश गर्नुहोस्।
कार्यक्रम को बेफाइदा फरक संस्करण को अनुकूलता संग सम्बन्धित समस्या हो। तिनीहरूले कार्यक्रम को VBA कोड उत्पादन को नयाँ संस्करणमा वर्तमान छ, तर पुरानो एक मा कार्यक्षमता बुझाउँछ भन्ने तथ्यलाई कारण छन्। पराई को अनुहार परिवर्तन गर्न ठूलो बेफाइदा र कोड को बढ्तै उच्च खुलापन पनि छ। तथापि, माईक्रोसफ्ट अफिस, र आईबीएम लोटस सिम्फनी प्रयोगकर्ता यसलाई हेर्न गुप्तिकरण प्रवेश कोड र पासवर्ड सेटिङ लागू गर्न अनुमति दिन्छ।
वस्तुहरु, संग्रह, गुण र विधिहरू
यो तपाईं VBA वातावरणमा काम गर्न जाँदैछन् गर्नेहरूलाई बुझ्न आवश्यक यी अवधारणाहरु छ। सबै को पहिलो, तपाईं वस्तु के बुझ्न पर्छ। एक्सेल मा, एक पाना, पुस्तक, र सेल दायरा रूपमा यो कार्य मा। यी वस्तुहरू विशेष वर्गीकरणका छ, अर्थात् प्रत्येक अन्य पालन गर्छन्।
तिनीहरूलाई बीच मुख्य आवेदन, संवाददाता एक्सेल कार्यक्रम नै हो। पछि लागे कार्यपुस्तिकाओं, कार्यपत्र र सीमा। उदाहरणका लागि, एक विशिष्ट पानामा कक्ष A1 संकेत गर्न खातामा वर्गीकरणका लिएर, बाटो दर्शाउन पर्छ।
"संग्रह," जो रेकर्ड ChartObjects दिइएको छ नै वर्ग को वस्तुहरु को यो समूह, अवधारणा सन्दर्भमा। यसको तत्व पनि वस्तुहरू छन्।
अर्को कुरा - गुणहरू। तिनीहरूले कुनै पनि वस्तु को एक आवश्यक सुविधा छन्। उदाहरणका लागि, सीमा लागि - एक मूल्य वा सूत्र छ।
विधिहरू - तपाईं बनाउन चाहनुहुन्छ देखाउन आदेश छ। VBA मा कोड लेख्दा तिनीहरूलाई वस्तु बिन्दु अलग गर्न। उदाहरणका लागि, रूपमा धेरै अक्सर "एक्सेल" प्रयोग कक्षहरू आदेश (1,1) .कोठा मा प्रोग्रामिंग, पछि देखाइनेछ। यो निर्देशांक एक सेल चयन गर्न आवश्यक छ भन्ने हो (1,1), अर्थात् A1।
तर, यो अक्सर Selection.ClearContents प्रयोग गरिन्छ। यसको कार्यान्वयन चयन सेल सामग्रीहरू खाली छ।
कसरी सुरु गर्न
सबै को पहिलो, तपाईं, फाइल सिर्जना गर्न र यसलाई बचत गर्न एउटा नाम असाइन र म्याक्रो सक्षम «बुक एक्सेल प्रकार चयन गर्न चाहन्छु।"
त्यसपछि, «अल्ट» प्रमुख र «F11» संयोजन प्रयोग गर्न पर्याप्त छ जो VB आवेदन, जानुहोस्। अर्को:
- मेनु पट्टी विन्डो माथि मा, एक्सेल प्रतिमा अर्को प्रतिमा क्लिक गर्नुहोस्;
- Mudule आदेश चयन;
- फ्लपी डिस्क संग आइकनमा क्लिक राख्न;
- लेख्न, भन्न, कोड रूपरेखा।
निम्नानुसार देखिन्छ:
उप कार्यक्रम ()
'हाम्रो कोड
अन्त उप
कृपया याद गर्नुहोस् कि लाइन " 'हाम्रो कोड" एक फरक रंग (हरियो) मा हाइलाइट गरिनेछ। के निम्नानुसार एक टिप्पणी छ भन्ने संकेत गर्छ जो स्ट्रिङ, को सुरुमा बुझाइएको यो एपोस्ट्रोफी कारण।
अब तपाईं कुनै पनि कोड लेख्न र आफूलाई लागि VBA एक्सेल मा नयाँ उपकरण सिर्जना (नमूना कार्यक्रम हेर्नुहोस्। आदि) गर्न सक्नुहुन्छ। को पाठ्यक्रम, दृश्य मूल को मूल कुराहरू परिचित भएकाहरूलाई, यो धेरै सजिलो हुनेछ। तर, ती पनि नगर्ने, तपाईं एकदम छिटो सहज प्राप्त गर्न सक्षम हुन चाहनुहुन्छ भने छैनन्।
एक्सेल मा बृहत
यो नाम पछि कार्यक्रम आवेदन भाषाको लागि भिजुअल मूल लेखिएको लुकाउँछ। यसरी, एक्सेल गर्न कार्यक्रम - इच्छित कोड एक म्याक्रो सिर्जना छ। यो क्षमता संग, माईक्रोसफ्ट स्प्रेडसिट, एक विशेष प्रयोगकर्ता को आवश्यकताहरु अनुकूल आत्म-विकास। होने कसरी बृहत लेखन लागि मोड्युलहरू सिर्जना गर्न सम्हाल्न, यो VBA एक्सेल कार्यक्रम ठोस उदाहरण प्रक्रिया सम्भव छ। यो सबैभन्दा आधारभूत कोड सुरु गर्न सबै भन्दा राम्रो छ।
उदाहरण 1
कार्य: एक सेल सामग्रीहरू को मूल्य प्रतिलिपि र त्यसपछि अर्को लेख्न भनेर एक कार्यक्रम लेख्नुहोस्।
यो के गर्न:
- ट्याब "हेर्नुहोस्" खोल्न;
- प्रतिमा "बृहत" सार्न;
- को "रेकर्ड म्याक्रो" गर्न हल्लाउनुहोस्;
- खोलियो फारम भर्न।
सादगी लागि, मा "म्याक्रो नाम" "Makros1" छोड्न र "सर्टकट कुञ्जी" मा उदाहरणका लागि, घ (यो उदाहरण कार्यक्रम «Ctrl + घन्टा» ब्लिट्ज टोली हुनेछ चलाउन सक्ने अर्थ), सम्मिलित छ। प्रविष्ट गर्नुहोस् थिच्नुहोस्।
अब तपाईं म्याक्रो रेकर्ड सुरु गरेको, माथि एक सेल सामग्रीहरू अर्को बनाउन। मूल प्रतिमा फर्कनुहोस्। को "रेकर्ड म्याक्रो" मा क्लिक गर्नुहोस्। यो कार्य एप्लेटहरू को पूरा निशान।
अर्को:
- फेरि स्ट्रिङ "बृहत" जाने;
- "म्याक्रो 1" सूचीमा चयन गरिएको छ;
- क्लिक गर्नुहोस् "रन" (सर्टकट कुञ्जीहरू सुरुवात नै कार्य सुरु «Ctrl + घ»)।
फलस्वरूप, कार्य जो म्याक्रो रेकर्ड समयमा प्रदर्शन गरिएको छ।
यो कोड जस्तो देखिन्छ कसरी हेर्न अर्थमा बनाउँछ। यो गर्न, फिर्ता स्ट्रिङ "बृहत" जाने र क्लिक "सम्पादन गर्नुहोस्" वा "प्रविष्ट गर्नुहोस्।" फलस्वरूप, तिनीहरू VBA वातावरण पाउन। वास्तवमा, आफै कोड म्याक्रो Makros1 उप () र अन्त उप रेखाहरू बीच स्थित छ।
प्रतिलिपि प्रदर्शन गरिएको छ भने, उदाहरणका लागि, सेल C1 मा एक कक्ष A1 देखि, कोड को लाइनहरु को एक सीमा ( "C1") जस्तो हुनेछ। चयन गर्नुहोस्। अनुवाद, यो अर्को शब्दमा, एक सेल C1 मा, VBA एक्सेल मा संक्रमण बनाउँछ, "सीमा (" C1 ") जस्तो देखिन्छ। चयन गर्नुहोस्"।
कोड को एक सक्रिय भाग ActiveSheet.Paste टोली पूरा। यसलाई चयन सेल C1 मा चयन कक्ष (यस मामला, A1 मा) सामग्रीहरू रेकर्ड हो।
उदाहरण 2
VBA चक्र एक्सेल मा विभिन्न बृहत सिर्जना गर्न मद्दत।
VBA चक्र फरक बृहत सिर्जना गर्न मद्दत। किनकी (x) - त्यहाँ एक समारोह y = एक्स + X 3 + 3x 2 हो भनेर मान्छु। तपाईं आफ्नो ग्राफिक्स को लागि एक म्याक्रो सिर्जना गर्न चाहनुहुन्छ। यो गर्न सकिन्छ मात्र VBA चक्र प्रयोग गरेर।
तर्क कार्यहरु को प्रारम्भिक र अन्तिम मूल्य लागि X1 = 0 र एक्स 2 = 10 ले। यसबाहेक, यो एक स्थिर परिचय आवश्यक छ - चरण लागि मान तर्क र काउन्टर लागि प्रारम्भिक मूल्य परिवर्तन।
VBA एक्सेल बृहत सबै उदाहरणको रूपमा निस्कने माथि सेट नै प्रक्रिया प्रयोग गरेर बनाईएको हो। यस विशेष अवस्थामा, कोड जस्तो देखिन्छ:
उप programm ()
X1 = 1
एक्स 2 = 10
shag = 0.1
म = 1
जबकि X1
वाई = X1 + X1 ^ 2 + 3 * X1 ^ 3 - किनकी (X1)
कक्षहरू (म, 1) .Value = X1 (X1 मान स्मृति मा निर्देशांक (म संग लिखित, 1))
कक्षहरू (म, 2) .Value = वाई (Y मूल्य सेल मा निर्देशांक (साथ लेखिएको छ म, 2))
म = म 1 (मान्य गणना) +;
X1 = X1 + shag (तर्क चरण आकार परिवर्तन गरिएको छ);
पाश
अन्त उप।
वाई गर्न - यो रन म्याक्रो को फलस्वरूप "एक्सेल" दुई स्तम्भहरू, x को लागि मान रेकर्ड गर्दै पहिलो जो, र दोस्रो प्राप्त।
फेरि मा "एक्सेल" को लागि मानक, निर्माण गर्न सक्षम तालिका।
उदाहरण 3
लागि प्रयोग डिजाइन जबकि पहिले नै कम के संग, VBA एक्सेल 2010 मा चक्र लागू, साथै अन्य संस्करण मा गर्न।
एक स्तम्भ सिर्जना गर्ने एक कार्यक्रम विचार गर्नुहोस्। प्रत्येक सेल मा लाइन नम्बर अनुरूप वर्गहरूको रेकर्ड गरिनेछ। डिजाइन को प्रयोगको लागि यो एक प्रति को प्रयोग बिना धेरै छोटकरीमा रेकर्ड गर्न अनुमति दिन्छ।
पहिले माथि वर्णन रूपमा, एक म्याक्रो सिर्जना गर्न आवश्यक छ। अर्को, कोड नै लेख्न। हामी 10 कक्षहरू लागि मान रुचि हो भन्ने विश्वास गर्छन्। निम्नानुसार कोड छ।
म 10 अर्को 1 = लागि
आदेश को रूप मा, "मानव" भाषामा हस्तान्तरण गरिएको छ "एक को वृद्धिमा मा 10 1 देखि पटक-पटक।"
कार्य वर्गहरूको संग स्तम्भ प्राप्त गर्न भने, उदाहरणका लागि, 1 र 11 को बीच सबै अनौठो पूर्णाङ्कहरुको, हामी लेख्नुहोस्:
म = 1 10 चरण 1 अर्को।
चरण - यहाँ, कदम। यस मामला मा, यो दुई बराबर छ। पूर्वनिर्धारित रूपमा, लुपमा शब्द को अभाव अर्थ एकल चरण छ।
परिणाम सेल नम्बर (म, 1) मा भण्डारण गर्न आवश्यक छ। म कदम को स्वतः बढ्न र लाइन नम्बर हुनेछ त्यसपछि हरेक समय तपाईं मूल्य मा वृद्धि संग चक्र सुरु गर्नुहोस्। यसरी, कोड अनुकूलन हुनेछ।
सामान्य मा, कोड जस्तो हुनेछ:
उप कार्यक्रम ()
10 म = 1 चरण 1 (= लिखित सकिन्छ मात्र म को लागि 1 10)
कक्षहरू (म, 1) .Value = म ^ 2 (अर्थात् वर्ग मूल्य सेल मा लेखिएको छ (म, 1) म)
अर्को (एक अर्थमा प्रति हालतमा र अर्को चक्र सुरु को भूमिका खेल्छ)
अन्त उप।
सही, गरेको भने रेकर्डिङ चलिरहेको बृहत (हेर्नुहोस्। माथिको निर्देशन) सहित, त्यसपछि यसलाई प्रत्येक समय दिइएको आकार स्तम्भ प्राप्त हुनेछ (यस मामला 10 कक्षहरू मिलेर मा) भनिन्छ।
उदाहरण 4
दैनिक जीवनमा धेरै अक्सर आवश्यक केही अवस्था आधारमा यो वा त्यो निर्णय लिन छ। VBA एक्सेल तिनीहरूलाई बिना गर्न सक्नुहुन्न। जहाँ अल्गोरिदम को थप पाठ्यक्रम सट्टा चयन गरिएको छ कार्यक्रम को उदाहरण सुरुमा त्यसपछि predetermined, भने को सबै भन्दा अधिक प्रयोग डिजाइन ... त्यसपछि (कठिन अवस्थामा लागि) भने ... ... अन्त भने।
विशेष विचार गर्नुहोस्। तपाईं निर्देशांक संग कक्ष (1,1) रेकर्ड गरिएको छ "एक्सेल" को लागि एक म्याक्रो सिर्जना गर्न चाहनुहुन्छ मानौं:
1 तर्क सकारात्मक छ भने;
0 तर्क शून्य छ भने;
1, तर्क नकारात्मक छ भने।
"एक्सेल" को लागि यस्तो म्याक्रो सिर्जना "तातो" कुञ्जीहरू अल्ट र F11 को प्रयोगको माध्यमबाट, एक मानक तरिका मा सुरु हुन्छ। थप निम्न कोड लिखित:
उप कार्यक्रम ()
एक्स = कक्षहरू (1, 1) .Value (यो आदेश सेल सामग्रीहरूको एक्स निर्देशांक को मूल्य (1 प्रदान, 1))
यदि X> 0 त्यसपछि कक्षहरू (1, 1) .Value = 1
यदि X = 0 त्यसपछि कक्षहरू (1, 1) .Value = 0
यदि X <0 त्यसपछि कक्षहरू (1, 1) .Value = -1
अन्त उप।
यो एक म्याक्रो चाहेको मूल्य तर्क लागि चलाउन र "एक्सेल" मा प्राप्त गर्न रहनेछ।
VBA कार्यहरु
तपाईं याद हुन सक्छ रूपमा, सबै भन्दा प्रसिद्ध कार्यक्रम माइक्रोसफ्ट स्प्रेडसिट आवेदन छैन पनि गाह्रो छ। विशेष गरी यदि तपाईं VBA कार्य कसरी प्रयोग गर्न सिक्नुहोस्। कुल, यो कार्यक्रम भाषा "एक्सेल" र शब्द बारेमा 160 कार्यहरु मा आवेदन लेखन को लागि विशेष सिर्जना गरियो। तिनीहरूले धेरै ठूलो समूह विभाजित गर्न सकिन्छ। ती हुन्:
- गणितीय कार्य। को कसाइन मूल्य को तर्क तिनीहरूलाई लागू प्राप्त छ, प्राकृतिक लघुगणक, र यति सारा भाग।
- वित्तीय कार्यहरु। कारण एक्सेल मा आफ्नो उपलब्धता र प्रयोग कार्यक्रम, तपाईं लेखा र वित्तीय बस्तियों लागि प्रभावकारी उपकरण प्राप्त गर्न सक्छन्।
- एरे प्रक्रिया कार्यहरु। यी एरे, IsArray समावेश; LBound; UBound।
- VBA एक्सेल लाइन लागि काम। यो एक एकदम ठूलो समूह छ। यसलाई उदाहरणका लागि, स्पेस समारोह एएनएसआई कोड गर्न पूर्णांक तर्क वा asc स्थानान्तरण प्रतीक बराबर अंतराल को एक नम्बर एक स्ट्रिङ सिर्जना गर्न सामेल छन्। ती सबै व्यापक प्रयोग र तपाईंले यी टेबल काम गर्न धेरै सजिलो आवेदन सिर्जना गर्न "एक्सेल" मा तार काम गर्न अनुमति दिन्छ।
- डेटा प्रकार रूपान्तरण कार्यहरु। उदाहरणका लागि, CVar विमत डेटा प्रकार रुपान्तर, अभिव्यक्ति तर्क फर्काउँछ।
- मिति कार्यहरु। तिनीहरूले निकै "एक्सेल" को मानक सुविधाहरू विस्तार। त्यसैले, WeekdayName कार्य को नाम (पूर्ण वा आंशिक) यसको संख्या द्वारा हप्ता दिन फर्काउँछ। अझ उपयोगी भएको घडी छ। उहाँले दिन को एक विशेष क्षण गर्न मध्यरात देखि बितिसकेको छ कि सेकेन्ड संख्या दिन्छ।
- विभिन्न नम्बर प्रणाली मा एक संख्यात्मक तर्क रूपान्तरण गर्न काम। उदाहरणका लागि, अक्टोबर संख्या को अष्टभुजाकार प्रतिनिधित्व गर्न रू।
- ढाँचा कार्यहरु। सबैभन्दा यी महत्त्वपूर्ण स्वरूप छ। यो ढाँचा विवरण दिइएको निर्देशन अनुसार ढाँचामा अभिव्यक्ति एउटा विमत फर्काउँछ।
- र यसको अगाडी।
यी कार्यहरु र आफ्नो आवेदन को गुण को अध्ययन एकदम "एक्सेल" को स्कोप विस्तार हुनेछ।
उदाहरण 5
का थप जटिल समस्या समाधान गर्ने प्रयास गरौं। उदाहरणका लागि:
दान कागज कागजात उद्यम रिपोर्ट को लागत को वास्तविक स्तर। आवश्यक:
- द्वारा स्प्रेडसिट "एक्सेल" यसको ढाँचा भाग विकास;
- एक VBA कार्यक्रम कच्चा डाटा आवश्यक गणना पूरा र संवाददाता सेल को टेम्पलेट भर्न, यो भर्न माग्छ भनेर बनाउन।
निम्न समाधान को एक विचार गर्नुहोस्।
एक टेम्पलेट सिर्जना
सबै कार्यहरू एक्सेल मा एक मानक पानामा प्रदर्शन गर्दै छन्। निःशुल्क कक्षहरू अन डाटा प्रविष्ट लागि सुरक्षित महिना, वर्ष, शीर्षक-उपभोक्ता कम्पनीहरु, को लागत को राशि, कारोबार को आफ्नो स्तर। जो को रिपोर्ट रेकर्ड छैन आदर मा कम्पनीहरु (कम्पनीहरु), संख्या रूपमा, अग्रिम सुरक्षित छैन मान र व्यावसायिक नाम को आधार मा गर्न कक्षहरू। कार्यपत्र नयाँ नाम तोकिएको। उदाहरणका लागि, "Օ रिपोर्ट"।
चर
कार्यक्रम स्वतः टेम्पलेट भर्न लेख्न गर्न, संकेतन चयन गर्नुहोस्। तिनीहरूले चर लागि प्रयोग गरिनेछ:
- NN- तालिका को वर्तमान पङ्क्ति संख्या;
- TP र TF - योजना र वास्तविक कारोबार;
- सुपरफास्ट र सपा - वास्तविक र योजना कुल लागत;
- आईपी र भने - योजना र लागत वास्तविक स्तर।
हामी त्यही पत्र द्वारा जनाउँछ, तर "उपसर्ग» Itog संग्रह कि स्तम्भ लागि कुल संग। उदाहरणका लागि, ItogTP - स्तम्भ सन्दर्भमा रूपमा हकदार, "यो योजना कारोबार।"
VBA कार्यक्रम प्रयोग गरेर समस्या को समाधान
यो संकेतन प्रयोग गरेर हामी विचरण लागि सूत्र प्राप्त। तपाईँ% मा गणना पूरा गर्न चाहनुहुन्छ भने हामी (फा - पी) / पी * 100, र को मात्रा मा - (फा - पी)।
यी गणना को परिणाम राम्रो बस उपयुक्त कक्षहरू मा "एक्सेल" स्प्रिेडसिट बनाउन सक्छ।
सूत्रहरू द्वारा ItogP = ItogP + पी र ItogF = ItogF + एफ प्राप्त वास्तवमा नतिजा र पूर्वानुमान लागि
लागि विचलन = प्रयोग (ItogF - ItogP) / ItogP * 100 गणना प्रतिशतको रूपमा बाहिर छ भने, र कुल मूल्य भने - (ItogF - ItogP)।
परिणाम फेरि उपयुक्त कक्षहरू लिपिबद्ध, त्यसैले त्यहाँ चर तिनीहरूलाई नियुक्त गर्न कुनै आवश्यकता छ।
एक कार्यक्रम सिर्जना गर्न सुरु गर्नु अघि तपाईंले कार्यपुस्तिका नाम "Otchet1.xls" अन्तर्गत, उदाहरणका लागि, बचत गर्न चाहन्छु।
प्रेस "एक रिपोर्टिङ तालिका सिर्जना गर्नुहोस्," तपाईं हेडर जानकारी प्रविष्ट पछि मात्र 1 पटक प्रेस अनिवार्य छ। तपाईंलाई थाहा हुनुपर्छ र अन्य नियम। विशेष, बटन "एक लाइन थप्नुहोस्" प्रत्येक गतिविधि लागि मान को तालिका मा प्रवेश पछि प्रत्येक समय थिचिएको हुनुपर्छ। बटन "समाप्त" थिच्नुहोस्, र त्यसपछि विन्डो मा "एक्सेल" स्विच आवश्यक सबै डाटा प्रवेश पछि।
अब तपाईं कसरी बृहत संग एक्सेल लागि समस्या समाधान गर्न थाहा छ। VBA प्रयोग गर्न सक्ने क्षमता (नमूना कार्यक्रम हेर्नुहोस्। माथि) Excel र तपाईं क्षण, पाठ सम्पादक मा सबै भन्दा लोकप्रिय को वातावरण मा काम गर्न आवश्यक पर्दछ "शब्द।" विशेष, यो लेखको सुरुमा देखाइएको रेकर्ड, द्वारा, वा मेनु बटन जो मार्फत पाठ मा सञ्चालनका धेरै कर्तव्य वा "दृश्य" प्रतिमा र "बृहत" ट्याब मार्फत कुञ्जीहरू थिचेर गर्न सकिन्छ सिर्जना गर्न कोड लेखेर।
Similar articles
Trending Now