السلام عليكم
اضافة الى حل الاخ الفاضل طارق
عملت هذا الكود ولكن
يشترط ان تكون اسماء المواد غير متشابهة (وانا افترضتها تبداء من A ثم B حتى تنتهي ب M)
فكان هذا الكود
جربه يمكن ينفع
Sub Abu_Ahmed()
Dim c As Range
For Each c In [E6:E18]
Select Case c.Value
Case "B", "C", "D", "E":
For i = -3 To -1
c.Offset(0, i) = c.Offset(-1, i)
Next
Case "G", "H", "I":
For i = -3 To -1
c.Offset(0, i) = c.Offset(-1, i)
Next
Case "K", "L", "M":
For i = -3 To -1
c.Offset(0, i) = c.Offset(-1, i)
Next
End Select
Next
End Sub