उदाहरण के रूप में, नीचे एक सरल 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