एक्सेल में स्क्रिप्ट / मैक्रो, एक सेल पर क्लिक करके


2

एक्सेल 2010 में मैं ऐसा कुछ करना चाहता हूं। विशेष रूप से, मैं वर्तमान ओपन वर्कशीट की एक सेल पर -important- क्लिक करके, एक टेक्स्ट फ़ाइल से ओपन शीट लोड डेटा बनाने में सक्षम होना चाहता हूं।

तो मेरी विशिष्ट जरूरतें हैं:

  1. अगर किसी तरह से सेल पर क्लिक करके मैक्रो / स्क्रिप्ट शुरू करना संभव है।

स्क्रिप्ट / मैक्रो के बारे में:

  1. आपके विचार से, कार्यान्वयन का तरीका, बेहतर क्या होगा।

  2. और अधिक विशेष रूप से, आवश्यक डेटा को स्वचालित रूप से कैसे आयात किया जाए, केवल क्लिक करके, वांछनीय .txt फ़ाइल को लगातार निर्दिष्ट किए बिना, हर बार केवल 1 बार अधिकतम, प्रारंभ में या कस्टम "initalization / कॉन्फ़िगरेशन" फ़ाइल का उपयोग करके।


केवल स्पष्ट करने हेतु; आप एक बटन ऑब्जेक्ट का उपयोग क्यों नहीं कर सकते?
क्लॉकवॉर्क

एक्सेल और विजुअल बेसिक में लगभग पूर्ण नौसिखिया होने के नाते, आपको अपने विचारों को एक उचित उत्तर में व्यक्त करते हुए देखना अच्छा होगा :)
Noob Doob

क्या डबल-क्लिक करना ठीक होगा ??
गैरी स्टूडेंट

एक क्लिक की सराहना की जाएगी, लेकिन अगर यह समाधान के मूल पर इतना प्रभाव नहीं रखता है, तो आप विचार के साथ आगे बढ़ सकते हैं और मुझे बता सकते हैं कि क्या फायदेमंद है।
Noob Doob

मैं विजुअल बेसिक पर एक 24-घंटे का ट्यूटोरियल पढ़ रहा हूं, लेकिन सबसे तेज़ मुझे समाधान मिलेगा, बेहतर। किसी भी हित के लिए अग्रिम धन्यवाद!
नोब डोब

जवाबों:


2

यहाँ एक बहुत ही विशिष्ट उदाहरण है जिसे आप अपनी आवश्यकताओं के अनुसार ढाल सकते हैं। इसकी एक वर्कशीट ईवेंट मैक्रो है जो सेल B9 पर डबल-क्लिक करने से चालू होती है :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B9")) Is Nothing Then Exit Sub
Cancel = True
Dim TextLine As String
    Close #1
    Open "C:\TestFolder\test.txt" For Input As #1
    i = 1
    j = 0
    Do While Not EOF(1)
        Line Input #1, TextLine
            j = j + 1
            Cells(i, j) = TextLine
        Loop
    Close #1
End Sub

आपको जो परिवर्तन करने होंगे:

  1. सेल टू डबल क्लिक B9 है
  2. पाठ फ़ाइल का फ़ाइल नाम खोला जाना चाहिए
  3. आयातित डेटा के लिए गंतव्य

क्योंकि यह वर्कशीट कोड है, इसे इंस्टॉल करना और उपयोग करने के लिए स्वचालित करना बहुत आसान है:

  1. एक्सेल विंडो के नीचे टैब नाम पर राइट-क्लिक करें
  2. देखें कोड चुनें - यह VBE विंडो लाता है
  3. सामान पेस्ट करें और VBE विंडो बंद करें

यदि आपको कोई चिंता है, तो पहले इसे परीक्षण कार्यपत्रक पर आज़माएं।

यदि आप कार्यपुस्तिका को सहेजते हैं, तो मैक्रो इसके साथ सहेजा जाएगा। यदि आप बाद में 2003 के एक्सेल के संस्करण का उपयोग कर रहे हैं, तो आपको .xlsx के बजाय .xlsm के रूप में फ़ाइल को सहेजना होगा

मैक्रो को हटाने के लिए:

  1. ऊपर के रूप में VBE विंडोज़ लाओ
  2. कोड साफ़ करें
  3. VBE विंडो बंद करें

सामान्य रूप से मैक्रोज़ के बारे में अधिक जानने के लिए, देखें:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

तथा

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

इवेंट मैक्रोज़ (वर्कशीट कोड) के बारे में अधिक जानने के लिए, देखें:

http://www.mvps.org/dmcritchie/excel/event.htm

इसके लिए मैक्रोज़ को सक्षम होना चाहिए!


यह मददगार लगता है। क्या आप आसानी से नई एक्सल फ़ाइलों के लिए मैक्रोज़ बनाए गए ट्रैसफेरिंग के तरीके को इंगित करेंगे और कस्टम कोशिकाओं को शामिल करने के लिए "स्वचालित रूप से" कोड का विस्तार करने का एक तरीका है? (मुझे कोई आपत्ति नहीं है, अगर मुझे इन्हें प्राप्त करने के लिए एक अलग आवेदन बनाने की आवश्यकता होगी) यदि आप बुरा नहीं मानते हैं, तो मैं आपको पीएम भी कर सकता हूं और एक नए स्व-उत्तर वाले प्रश्न के रूप में समग्र प्रयास के परिणाम पोस्ट कर सकता हूं। या यदि आपको लगता है कि मुझे प्रत्येक अनुभाग के लिए एक अलग प्रश्न बनाना चाहिए, तो यह कहें। आपके प्रयासों के लिए धन्यवाद।
Noob Doob

आप VBE मेनू से सीधे VBA कोड के आयात / निर्यात कर सकते हैं।
गैरी स्टूडेंट

आपने जो कहा वह काफी मददगार था। अब मैं जो कहूंगा वह भ्रमित करने वाला हो सकता है। क्या vba कोड जोड़ने से मैक्रो ही बन सकता है? मेरा मतलब है, मैं एक "मास्टर मैक्रो" शुरू कर सकता हूं, जो कुछ तर्कों को ध्यान में रखेगा और फिर कई जोड़ देगा, और सही रूप में, उपरोक्त कोड के chuncks आवश्यकतानुसार, बटन की संबंधित संख्या में। अगर इसका जवाब हां है, तो मुझे बस इतना ही प्रयोग करना होगा।
नोब डोब

आप जो प्रस्ताव देते हैं वह दिलचस्प है। मैंने इसे स्वयं कभी आजमाया नहीं है .................. लेकिन विषय यहाँ कवर किया गया है: cpearson.com/excel/vbe.aspx
गैरी स्टूडेंट

प्रश्न: आपका समाधान प्रत्येक सेल में एक पूरी लाइन जोड़ता है। क्या कोई फ़ंक्शन है जो अलग-अलग कोशिकाओं में अलग-अलग शब्द जोड़ते हैं, शब्दों को अंतरिक्ष द्वारा अलग किया जा रहा है?
नोब डोब

0

यदि सेल-क्लिक सक्रिय होने का कोई दबाने का कारण नहीं है, तो बटन ऑब्जेक्ट बनाने के लिए सबसे सरल तरीका होगा।


अपने डेवलपर टैब पर जाएं और सम्मिलित करें चुनें और फिर सक्रिय एक्स नियंत्रण से बटन चुनें ActiveXControls


अगला क्लिक करें और अपने बटन का आकार खींचें, फिर राइट क्लिक करें और प्रोर्टिज़ चुनें।

यहां से आप बटन पर प्रदर्शित पाठ और बटन के रंग जैसी चीजों को बदल सकते हैं। यदि आप राइट क्लिक करते समय फ़ॉर्मेट कंट्रोल का चयन करते हैं और प्रोर्टिज़ पर जाते हैं, तो आप बॉक्स को स्थानांतरित नहीं करने के लिए सेट कर सकते हैं और जब सेल / पंक्तियाँ / कॉलम बदले जाते हैं, तो उसे रिज़ी कर सकते हैं।

अगला राइट बटन पर क्लिक करें और देखें कोड चुनें
कोड देखें


यह आपको कोड विंडो पर ले जाएगा जहां आप अपना VBA डाल सकते हैं। आप वहां से बाकी टेक्स्ट कोड को मंद टेक्स्टलाइन नीचे दर्ज करें।

अंत में अपने डेवलपर टैब पर वापस जाएं और डिज़ाइन मोड से हटें
डिजाइन मोड


अब आप बटन का परीक्षण कर सकते हैं। यदि आपको इसमें कोई परिवर्तन करने की आवश्यकता है, या इसे चारों ओर ले जाना है, तो बस डिज़ाइन मोड को फिर से आकार दें।


आपके उत्तर के लिए धन्यवाद। लेकिन विशेष रूप से मेरे मामले के लिए, मुझे सेल-क्लिक द्वारा इसे सक्रिय करने की आवश्यकता है। इसके अलावा मुझे एक "एप्लिकेशन" बनाने की आवश्यकता है, जहां आवश्यक बटनों की संख्या अज्ञात होगी, शायद फ़ाइल के उद्घाटन पर फैसला किया गया था, और मुझे फ़ाइल-विशिष्ट नहीं, बल्कि एक "ट्रांसफ़रेबल" सुविधा चाहिए। मुझे विश्वास है कि "सेल" दृष्टिकोण इन को पूरा करना आसान होगा।
Noob Doob

कोई चिंता नहीं, इस कारण से मैं पहली जगह में अधिक जानकारी के लिए पूछ रहा था :)
CLockeWork
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.