जैसा कि मैंने अपनी टिप्पणी में उल्लेख किया है, मुझे लगता है कि यह थोड़ा परे है जो सशर्त स्वरूपण करने में सक्षम है।
इसलिए मैं आपके लिए निम्नलिखित एक्सेल मैक्रों को प्रस्तुत करता हूं जो इसे बदल देता है
इस मामले में
मैं इसके साथ आपके डेटा के लिए कोई ज़िम्मेदारी स्वीकार नहीं करता। यह मर्जी आपकी परिस्थितियों (पंक्ति और स्तंभ प्रारंभ संख्या, आदि) के लिए ठीक ट्यूनिंग की आवश्यकता है और अगर यह एक ब्लैक होल बनाता है और आपका कंप्यूटर एक कश में गायब हो जाता है कुछ कुछ तब मैं बस इतना ही कहूंगा कि "वाह, क्या आपको वह कैमरे पर मिला?" क्योंकि वह कमाल का होता।
उस ने कहा, यह मेरे लिए काम करता है और यदि आप इसे सही करते हैं तो यह आपके लिए भी काम कर सकता है। या आप इसे अपनी आवश्यकताओं के अनुसार बेहतर तरीके से संशोधित कर सकते हैं।
Sub RepeatedRows()
'Written by Mokubai, 14/10/12
FirstColumn = "A"
LastColumn = "B"
StartRow = 2
' First we establish how far we are going down the table
NumRows = ActiveSheet.UsedRange.Rows.Count
NumCols = ActiveSheet.UsedRange.Columns.Count
'Then we start working out
RowString = ""
oldRowString = ""
numRepeated = 0
For i = StartRow To NumRows
FirstCell = FirstColumn & i
'FirstCell = "A1"
LastCell = LastColumn & i
'Create a temporary string that is the row contents
For Each Cell In Range(FirstCell, LastCell)
RowString = RowString & Cell.Value
Next Cell
'compare it to the previous row:
If RowString = oldRowString Then
numInGroup = numInGroup + 1
Else
numInGroup = 0
Range(FirstCell).EntireRow.Interior.ColorIndex = 0
End If
'now we fill in the current and all previous rows to the same colour
'I have done absolutely nothing facy with the colouring, it is simply using the value
For col = 0 To numInGroup
CellNo = FirstColumn & (i - col)
Range(CellNo).EntireRow.Interior.ColorIndex = (numInGroup)
'this next bit is so that only the last member of the group gets a value in it
'in order to help define where the groups are
EmptyColumn = "C" & i - col
Range(EmptyColumn).Select
If col = 0 Then
ActiveCell.Value = numInGroup + 1
Else
ActiveCell.Value = ""
End If
Next col
'in either case we store the current row string and clear the temporary row string and repeat
oldRowString = RowString
RowString = ""
Next
End Sub