/ / सशर्त स्वरूपण किसी अन्य सेल लूप के आधार पर - vba, excel-vba, excel

सशर्त स्वरूपण किसी अन्य सेल लूप के आधार पर - vba, excel-vba, excel

मैंने एक कोड लिखा है जहां किसी भी सेल में मूल्य बदल जाता है, एक और सेल हाइलाइट हो जाता है, हालांकि नीचे दिए गए कोड में यह ठीक काम कर रहा है।
दुर्भाग्यवश यदि राशि 500 ​​से नीचे या उससे कम हैसेल बी 2 9: सी 2 9 पर सही ढंग से हाइलाइट करता है जब अगली राशि सेल सी 15 में 1500 गिर जाती है तो बी 31: सी 31 को हाइलाइट किया जाता है हालांकि बी 2 9: सी 2 9 भी मुझे किसी भी अन्य मैक्रो लागू करने से पहले जरूरत है जिसे पहले स्पष्ट करने की आवश्यकता है।

Sub Highlight_Cells()

If Range("C18") >= "500" Then
Range("B29:C29").Interior.Color = vbYellow
End If

If Range("C18") >= "501" And Range("C18") <= "1000" Then
Range("B30:C30").Interior.Color = vbYellow
End If

If Range("C18") >= "1001" And Range("C18") <= "2000" Then
Range("B31:C31").Interior.Color = vbYellow
End If

If Range("C18") >= "2001" And Range("C18") <= "5000" Then
Range("B32:C32").Interior.Color = vbYellow
End If

If Range("C18") > "5000" Then
Range("B33:C33").Interior.Color = vbYellow
End If

End Sub

उत्तर:

जवाब के लिए 0 № 1

आपको अपने रंगों को स्विच की तरह व्यवहार करने की ज़रूरत है। यदि वे चालू हैं, तो वे तब तक बंद नहीं होंगे जब तक कि आप इसे न कहें।

इसे इस्तेमाल करे

Sub Highlight_Cells()

If Range("C18") >= "500" Then
Range("B29:C29").Interior.Color = vbYellow
Else
Range("B29:C29").Interior.ColorIndex = 0
End If

If Range("C18") >= "501" And Range("C18") <= "1000" Then
Range("B30:C30").Interior.Color = vbYellow
Else
Range("B30:C30").Interior.ColorIndex = 0
End If

If Range("C18") >= "1001" And Range("C18") <= "2000" Then
Range("B31:C31").Interior.Color = vbYellow
Else
Range("B31:C31").Interior.ColorIndex = 0
End If

If Range("C18") >= "2001" And Range("C18") <= "5000" Then
Range("B32:C32").Interior.Color = vbYellow
Else
Range("B32:C32").Interior.ColorIndex = 0
End If

If Range("C18") > "5000" Then
Range("B33:C33").Interior.Color = vbYellow
Else
Range("B33:C33").Interior.ColorIndex = 0
End If

End Sub