بلانك قام بنشر فبراير 4 قام بنشر فبراير 4 السلام عليكم ورحمة الله وبركاته وبها نبدأ المطلوب عندي طلاب في العمود A وطلاب في العمود B بعطض الطلاب له اسم يتكون من اربع اسماء ( رباعي ) وله اسم اخر يتكون من ثلاث اسماء في العمودين وهما نفس الاسم اريد ان لايتم فصلها عند المقارنة بين العموين في العمود C ولكن يتم فصل الاسم المختلف تماما في العموين في العمود C ارجو ان وضحت الفكرة كما بالملف المرفق المطلوب داخل الملف . . . وشكرا مقدما مقارنة بيانات عمود ببيانات عمود اخر.xlsx
abouelhassan قام بنشر فبراير 5 قام بنشر فبراير 5 في الكود أدناه، يتم مقارنة الأسماء في العمود A والعمود B، وإذا كانت الأسماء متطابقة، يُكتب الاسم في العمود C، وإذا كانت مختلفة، يتم فصلها تمامًا في العمود 😄 Private Sub Workbook_Open() ' جعل الصفحة من اليمين والتنسيق في المنتصف With ActiveWindow .WindowState = xlMaximized .DisplayRightToLeft = True End With ' تنسيق الأرقام بخط عريض بحجم 14 Cells.NumberFormat = "0" Cells.Font.Size = 14 ' تنسيق العمود A برقم مخصص 000000 Columns("A").NumberFormat = "000000" ' تنسيق العمود B بتكست Columns("B").NumberFormat = "@" ' تقسيم الأسماء في العمود C Dim lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow Dim fullNameA As String Dim fullNameB As String ' قراءة الأسماء من العمود A و B fullNameA = Cells(i, "A").Value fullNameB = Cells(i, "B").Value ' المقارنة والفصل في العمود C If InStr(fullNameB, fullNameA) > 0 Or InStr(fullNameA, fullNameB) > 0 Then Cells(i, "C").Value = fullNameA Else Cells(i, "C").Value = fullNameA & " / " & fullNameB End If Next i End Sub 1
بلانك قام بنشر فبراير 5 الكاتب قام بنشر فبراير 5 (معدل) شكرا جزيلا وبارك الله فيك ...... ولكن ان امكن وضع كل اسم في خلية واحدة وصف واحد اسفل بعضهم لنفس العمود C انظر الصورة للمتوقعة تلاحظ لي وجود الاسماء المفصولة في العمود C مرة اخري ولكن اريدها مرة واحدة لانهم نفس الاسم ولكن ببشكل رباعي او ثلاثي وهذا هو المطلوب من المقارنة انظر للصورة تم تعديل فبراير 5 بواسطه بلانك
أفضل إجابة abouelhassan قام بنشر فبراير 5 أفضل إجابة قام بنشر فبراير 5 2 ساعات مضت, بلانك said: شكرا جزيلا وبارك الله فيك ...... ولكن ان امكن وضع كل اسم في خلية واحدة وصف واحد اسفل بعضهم لنفس العمود C انظر الصورة للمتوقعة يمكننا ضبط الكود لتحقيق ذلك. يتم وضع كل اسم في خلية واحدة، والأسماء المختلفة تُفصل بواسطة سطر جديد في نفس الخلية. اليك الكود المعدل Private Sub Workbook_Open() ' جعل الصفحة من اليمين والتنسيق في المنتصف With ActiveWindow .WindowState = xlMaximized .DisplayRightToLeft = True End With ' تنسيق الأرقام بخط عريض بحجم 14 Cells.NumberFormat = "0" Cells.Font.Size = 14 ' تنسيق العمود A برقم مخصص 000000 Columns("A").NumberFormat = "000000" ' تنسيق العمود B بتكست Columns("B").NumberFormat = "@" ' تقسيم الأسماء في العمود C Dim lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow Dim fullNameA As String Dim fullNameB As String Dim combinedNames As String ' قراءة الأسماء من العمود A و B fullNameA = Cells(i, "A").Value fullNameB = Cells(i, "B").Value ' المقارنة والتحقق من الأسماء المتطابقة If InStr(fullNameB, fullNameA) > 0 Or InStr(fullNameA, fullNameB) > 0 Then combinedNames = fullNameA Else combinedNames = fullNameA & vbCrLf & fullNameB End If ' وضع الأسماء في العمود C Cells(i, "C").Value = combinedNames Next i End Sub 3
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.