2008-11-06 8 views
5

एक्सेल में एक सशर्त स्वरूपण है ... प्रारूप मेनू के तहत विकल्प जो आपको शैली/रंग/फ़ॉन्ट/सेल के किसी भी मूल्य को उसके मूल्य के आधार पर बदलने की अनुमति देता है। लेकिन यह केवल तीन स्थितियों की अनुमति देता है।एक्सेल स्प्रेडशीट्स में एकाधिक सेल पृष्ठभूमि रंग

सेल के मूल्य के आधार पर एक्सेल को प्रदर्शित करने के लिए मैं छह अलग-अलग पृष्ठभूमि सेल रंग कैसे प्राप्त करूं? (आईई सेल को लाल करें यदि मान "लाल" है, और नीला अगर "नीला" इत्यादि)

उत्तर

7

आपको वीबीए में कुछ लिखना होगा। Get Around Excels 3 Criteria Limit in Conditional Formatting:

यहाँ उदाहरण देखें

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim icolor As Integer 

    If Not Intersect(Target, Range("A1:A10")) is Nothing Then 

     Select Case Target 

      Case 1 To 5 
       icolor = 6 
      Case 6 To 10 
       icolor = 12 
      Case 11 To 15 
       icolor = 7 
      Case 16 To 20 
       icolor = 53 
      Case 21 To 25 
       icolor = 15 
      Case 26 To 30 
       icolor = 42 
      Case Else 
       'Whatever 
     End Select 

     Target.Interior.ColorIndex = icolor 
    End If 
End Sub 
3

Excel 2007 में तीन से अधिक की स्थिति की अनुमति देता है। this Microsoft page से उद्धरण:

संपादित करें: आह, लिंकिंग कोड में एक "विशेषता" है: कोष्ठक में उद्धृत लिंक में कोष्ठक सही तरीके से संभाला नहीं जा रहा है। यही कारण है कि लिंक है: http://msdn.microsoft.com/en-us/library/bb286672(office.11).aspx

Excel में सशर्त स्वरूपण में परिवर्तन 2007 की स्थिति को पुन: व्यवस्थित करने के लिए, और करने के लिए एक से अधिक हालत संकल्प किया है, अधिक से अधिक तीन शर्तों निर्दिष्ट करने की क्षमता हैं के अन्य लाभ सच।

अन्यथा। जैसा कि वर्णन किया गया है, आप गन्दा विकल्पों के साथ फंस गए हैं, मुझे डर है।

0

ऐसा करने के लिए VBA मैक्रो का उपयोग कर सकते हैं ...

यहाँ

http://chandoo.org/wp/2008/10/14/more-than-3-conditional-formats-in-excel/

आप जिस तरह से साथ कोशिकाओं के फारमेट जैसा करने के लिए 'एन' की जरूरत है एक VBA मैक्रो बेहतर हो सकता है अगर मामलों की बहुत सारी की आवश्यकता है आप अपनी पूरी रेंज को प्रारूपित करना चाहते हैं। और तब प्रभाव प्राप्त करने के लिए उस यूआरएल में मैक्रो का उपयोग करें।

1

इसे अपने वीबीए प्रोजेक्ट में एक मॉड्यूल में डालें। फिर आप शीट में एक रेंज को हाइलाइट कर सकते हैं और चयनित श्रेणी में प्रत्येक सेल को रंग देने के लिए टूल्स> मैक्रो> मैक्रोज़ मेनू आइटम से उप चला सकते हैं।

Public Sub ColorCells() 

Dim cell, rng As Range 
Dim color As Integer 
Dim sheet As Worksheet 

Application.ScreenUpdating = False 
Application.StatusBar = "Coloring Cells" 

    Set rng = Application.Selection 
    Set sheet = Application.ActiveSheet 

For Each cell In rng.cells 

     Select Case Trim(LCase(cell)) 

      Case "blue" 

       color = 5 

      Case "red" 

       color = 3 

      Case "yellow" 

       color = 6 

      Case "green" 

       color = 4 

      Case "purple" 

       color = 7 

      Case "orange" 

       color = 46 

      Case Else 

       color = 0 
     End Select 

    sheet.Range(cell.Address).Interior.ColorIndex = color 

Next cell 

Application.ScreenUpdating = True 
Application.StatusBar = "Ready" 

End Sub 

उन कोशिकाओं में नए रंग के नाम में प्रवेश कर रहे हैं तो आप VBA प्रोजेक्ट एक उपयोगकर्ता के रूप कोशिकाओं रंग करने के लिए में चादर कोड में इस डाल सकता है कोशिकाओं में रंग नामों प्रवेश कर रहा है

Private Sub Worksheet_Change(ByVal Target As Range) 

If Target.cells.Count > 1 Then Exit Sub 

Dim color As Integer 

     Select Case Trim(LCase(Target)) 

      Case "blue" 

       color = 5 

      Case "red" 

       color = 3 

      Case "yellow" 

       color = 6 

      Case "green" 

       color = 4 

      Case "purple" 

       color = 7 

      Case "orange" 

       color = 46 

      Case Else 

       color = 0 

     End Select 

Target.Interior.ColorIndex = color 

End Sub 

संपादित करें: परीक्षण के लिए केस कथन अभिव्यक्ति के चारों ओर ट्रिम फ़ंक्शन जोड़ा गया है, ताकि कोशिकाओं में आकस्मिक अग्रणी/पिछली जगहों को नजरअंदाज कर दिया जा सके :)