যদি আমি আপনাকে সঠিকভাবে বুঝতে পারি, 1 এবং 2 সারি দেওয়া, আপনি যদি A1 = A2, C1 = C2, D1 = D2, E1 = E2 এবং F1 = F2 কেবলমাত্র একটি সারি 2 মুছতে চান।
এটিই আমি নিয়ে এসেছি। এটি সম্ভবত ছোট হতে পারে তবে এটি কৌশলটি করে:
Sub DeleteDuplicate()
Dim current As String
ActiveSheet.Range("A1").Activate
Do While ActiveCell.Value <> ""
current = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Do While ActiveCell.Value <> ""
If ((ActiveSheet.Range(current).Value = ActiveCell.Value) And (ActiveSheet.Range(current).Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value) And (ActiveSheet.Range(current).Offset(0, 3).Value = ActiveCell.Offset(0, 3).Value) And (ActiveSheet.Range(current).Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value) And (ActiveSheet.Range(current).Offset(0, 5).Value = ActiveCell.Offset(0, 5).Value)) Then
ActiveSheet.Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Activate
End If
Loop
ActiveSheet.Range(current).Offset(1, 0).Activate
Loop
End Sub
এটি যা করে তা হ'ল সারিটি মূল্যায়ন করার জন্য পয়েন্টার হিসাবে অ্যাক্টিভেলকে ব্যবহার করে বাকী সমস্ত রেখার মধ্য দিয়ে লুপ হয় এবং বর্তমান ভেরিয়েবলটিতে "আসল" সারি এর ঘর সংরক্ষণ করে । একবার লুপ প্রান্ত, নীচের সেল বর্তমান সক্রিয় করা হয় এবং ভিতরের মূল্যায়ন লুপ আবার শুরু হয়।
আমি কোথাও গোলযোগ হলে আমাকে বলতে দ্বিধা করবেন না :)