सेल के आधार पर सेल फॉर्मेटिंग के लिए फॉर्मूला या वीबीए लेकिन किसी अन्य सेल से फॉर्मेटिंग


0

कॉलम E में मेरे पास निश्चित मान (0%, 20%, 40%, 60%, 80% और 100%) हैं।

यदि मैं उपरोक्त किसी भी मान के साथ कॉलम E में एक सेल भरता हूं, तो सेल G को किसी अन्य सेल से फ़ॉर्मेटिंग चुननी चाहिए।

उदाहरण के लिए,

if I fill 0 in E3, the cell G3 should pick formatting from H3
if I fill 20 in E3, the cell G3 should pick formatting from H3
if I fill 40 in E3, the cell G3 should pick formatting from I3
if I fill 60 in E3, the cell G3 should pick formatting from J3
if I fill 80 in E3, the cell G3 should pick formatting from K3
if I fill 100 in E3, the cell G3 should pick formatting from L3

मुझे पता है कि यह सशर्त स्वरूपण की एक श्रृंखला में किया जा सकता है लेकिन इसे करना थोड़ा मुश्किल है। साथ ही, यह देखना चाहता था कि क्या कोई सरल उत्तर है?


1
सशर्त स्वरूपण के बिना एकमात्र विकल्प VBA है, लेकिन यदि आप इसे नहीं जानते हैं, तो सशर्त स्वरूपण निश्चित रूप से आसान है।
माते जुहेज़

1
सशर्त स्वरूपण यहाँ आपका उत्तर है। सुनिश्चित करें कि आपके नियम सही तरीके से चलते हैं और सच पर समाप्त होते हैं।
रायस्टाफ़ेरियन

@Raystafarian - सशर्त स्वरूपण के साथ, आप इसे प्रारूप प्रकार के लिए विभिन्न कोशिकाओं को देखने के लिए कैसे कहेंगे? या क्या आप पांच अलग-अलग नियमों को निर्धारित करने का सुझाव दे रहे हैं (एच 3, आई 3, जे 3, के 3, एल 3 के लिए एक), प्रारूप प्रकार के लिए किसी अन्य सेल को "लुक" देने के बजाय?
ब्रूसवेने

1
मेरे पास कई नियम होंगे, मुझे यकीन है कि सशर्त स्वरूपण, कार्यों की तरह, प्रारूप नहीं पढ़ सकता है। @ ब्रूस
रैस्टाफेरियन

जवाबों:


0

उदाहरण के रूप में, नीचे एक सरल VBA मैक्रो है जो स्वरूपण करता है। यह तय करना आपके लिए आसान है कि क्या यह सरल है। कुछ इसी तरह Worksheet_Change घटना उप में रखा जा सकता है।

यह सशर्त स्वरूपण की तुलना में थोड़ा अधिक लचीला है, क्योंकि आपके द्वारा प्रारूप चुनने वाले कॉलम की प्रत्येक पंक्ति पर आपके पास अलग-अलग प्रारूप हो सकते हैं। (जैसे स्क्रीन कैप में कॉलम H देखें)।

यहां मैक्रो चलाने से पहले वर्कशीट की एक स्क्रीन कैप्चर है ...

यहाँ छवि विवरण दर्ज करें

और यहाँ मैक्रो चलाने के बाद एक स्क्रीन कैप्चर है ...

यहाँ छवि विवरण दर्ज करें

और यहाँ VBA कोड है ...

Sub FormatTransfer()
Dim mySht As Worksheet
Dim myInRng As Range, myOutRng As Range, myFmtRng As Range
Dim myCell As Range

Set mySht = Worksheets("Sheet3")
Set myInRng = mySht.Range("E1", mySht.Range("E" & mySht.Rows.Count).End(xlUp))
Set myOutRng = myInRng.Offset(0, 2)
Set myFmtRng = mySht.Range(myInRng.Offset(0, 3), myInRng.Offset(0, 7))

For Each myCell In myInRng
    If myCell.Value < 20# Then
        myFmtRng(myCell.Row, 1).Copy
        myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
    End If
    If myCell.Value >= 20# And myCell.Value < 40# Then
        myFmtRng(myCell.Row, 1).Copy
        myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
    End If
    If myCell.Value >= 40# And myCell.Value < 60# Then
        myFmtRng(myCell.Row, 2).Copy
        myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
    End If
    If myCell.Value >= 60# And myCell.Value < 80# Then
        myFmtRng(myCell.Row, 3).Copy
        myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
    End If
    If myCell.Value >= 80# And myCell.Value <= 100# Then
         myFmtRng(myCell.Row, 4).Copy
         myOutRng(myCell.Row, 1).PasteSpecial xlPasteFormats
   End If
Next myCell

End Sub

हर किसी को आपकी सहायताके लिए शुक्रिया। मैंने कई सशर्त स्वरूपण नियमों का उपयोग करने की कोशिश की और यह काम किया। कभी कैसे, एक कॉलम में लाल स्वरूपित कोशिकाओं की संख्या निर्धारित करने के लिए थोड़ा मुश्किल है। जैसे-जैसे नियम बदलते हैं सेल के रंग बदलते हैं। यदि सेल प्रारूप लाल से हरे रंग में बदलता है तो रंग गतिशील रूप से नहीं बदलता है। अगर किसी स्थैतिक सेल पर लागू किया जाता है तो सूत्र = GET.CELL (63, INDIRECT ("rc", FALSE)) काम करने लगता है। सेल के गतिशील रूप से बदलते रंग को निर्धारित करने के लिए कोई मदद? धन्यवाद
कृष
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.