मैं प्रत्येक कक्ष E2: E30 और F2: F30 में चेक बॉक्स सम्मिलित करना चाहूंगा, जहां प्रत्येक पंक्ति में कॉलम E या स्तंभ F में से किसी एक बॉक्स को चेक किया जाना चाहिए।
=E2=1
, G2 में: =E2=2
, आदि
मैं प्रत्येक कक्ष E2: E30 और F2: F30 में चेक बॉक्स सम्मिलित करना चाहूंगा, जहां प्रत्येक पंक्ति में कॉलम E या स्तंभ F में से किसी एक बॉक्स को चेक किया जाना चाहिए।
=E2=1
, G2 में: =E2=2
, आदि
जवाबों:
आपके मामले में, विकल्प बटन का उपयोग करना निश्चित रूप से बेहतर / अधिक व्यावहारिक समाधान है। यदि आपको चेक बॉक्स के साथ एक विकल्प समूह का अनुकरण करने की आवश्यकता है, तो नीचे देखें
मैनुअल तरीका:
=$E$1
सूत्र पट्टी में सरल टाइपिंग द्वारा ।यह लिंक सेल अब दबाए गए विकल्प बटन की संख्या को धारण करेगा, आपके मामले में यह 1, 2 या 3 हो सकता है। अब आप इसे किसी अन्य फ़ंक्शन के साथ जोड़ सकते हैं INDEX/OFFSET/CHOOSE
।
वीबीए तरीका
निम्नलिखित दिनचर्या प्रत्येक कोशिका के बगल में एक विकल्प समूह रखेगी:
स्ट्रिंग के रूप में निजी कॉस्ट cStrPrefix = "o_" डबल = 2 के रूप में निजी कॉस्ट cDblHor क्षैतिजSpacing डबल = 40 के रूप में निजी कॉस्ट cDblLabelWidth कार्यपत्रक के रूप में निजी mWS स्ट्रिंग के रूप में निजी mStrAddr रेंज के रूप में निजी mRngLink निजी mVarLabels () वेरिएंट के रूप में निजी mIntCount पूर्णांक के रूप में सार्वजनिक उप सबडक्शनओनग्रुपसमूहइनरेंज (रेंज के रूप में रिंगलिंक, _ पूर्णांक के रूप में intNumberOfButtons, _ ParamArray varLabels () वेरिएंट के रूप में) इंटेगर के रूप में मंद intOldCalcMode अनुप्रयोग.स्क्रीनयूडेटिंग = गलत intOldCalcMode = Application.Calacle Application.Calacle = xlCalacleManual 'इनित चर MWS = rngLinks.Worksheet सेट करें mIntCount = intNumberOfButtons mVarLabels = varLabels RngLinks.Cells में प्रत्येक mRngLink के लिए mStrAddr = mRngLink.Address subDeleteOptionGroup subPlaceOptionGroup subPlaceOptionButtons आगे Application.Calacle = intOldCalcMode Application.ScreenUpdating = True अंत उप निजी उप सबडिटऑप्शनऑग्रुप () डिम आई अस इंटेगर त्रुटि फिर से शुरू पर I = 1 के लिए mIntCount mWS.OptionButtons (cStrPrefix & mStrAddr & "_" & i) .Dillill आगे mWS.GroupBoxes (cStrPrefix & mStrAddr) .डेली अंत उप निजी उप सबडक्शनओपरेशनसमूह () डिम objGroupBox GroupBox के रूप में ObjGroupBox = mWS.GroupBoxes.Add (_) सेट करें mRngLink.Offset (, 1) .Left, mRngLink.Top, _ (mIntCount + 2) * cDblHor क्षैतिजSpacing + _ mIntCount * cDblLabelWidth, _ mRngLink.Height) ObjGroupBox के साथ .Characters.Text = "" .Name = cStrPrefix & mStrAddr .Display3DShading = सच के साथ समाप्त करना अंत उप निजी उप सबडक्शनऑक्शनबटन () डिम आई अस इंटेगर मंद objOptionButton विकल्पबटन के रूप में I = 1 के लिए mIntCount ObjOptionButton = mWS.OptionButtons सेट करें। जोड़ें (_ mRngLink.Offset (, 1) .Left _ + i * cDblHor क्षैतिजSpacing + (i - 1) * cDblLabelWidth, _ mRngLink.Top, cDblLabelWidth, mRngLink.Height) ObjOptionButton के साथ .चैक्टर्स। पाठ = mVarLabels (i - 1) .Display3DShading = सच .Name = cStrPrefix & mStrAddr & "_" & i .लिंकडेल = mStrAddr के साथ समाप्त करना आगे अंत उप
आप अपने विकल्प बटन को 'सबप्लसऑक्शनगर्गेन्सइंटरेंज शीट्स ("आपकीशीट") चलाकर रख सकते हैं। रेंज ("ई 2: ई 30"), 3, "लेबल 1", "लेबल 2", "लेबल 3"
पारस्परिक अनन्य स्थिति को प्राप्त करने के लिए, आपको प्रत्येक विकल्प बटन पर निम्न मैक्रो असाइन करना होगा:
सार्वजनिक उप सबचार्जचेकबॉक्स () चेक बॉक्स के रूप में मंद सी.बी. मंद rngTarget रेंज के रूप में इंटेगर के रूप में मंद इंट्रोल सेट cb = ActiveSheet.CheckBoxes (Application.Caller) RngTarget = ActiveSheet.Range (cb.LinkedCell) सेट करें 'अनचाहे रोकें अगर rngTarget.Value = फिर गलत rngTarget.Value = सच उप से बाहर निकलें अगर अंत 'पहले चयनित चेकबॉक्स को अचयनित करें IntCol = 1 To 3 के लिए अगर rngTarget.Column intCol तब ActiveSheet.Cells (rngTarget.Row, intCol) ।Value = गलत अगर अंत अगला intCol अंत उप