بلانك قام بنشر فبراير 4 مشاركة قام بنشر فبراير 4 السلام عليكم ورحمة الله وبركاته وبها نبدأ المطلوب عندي طلاب في العمود A وطلاب في العمود B بعطض الطلاب له اسم يتكون من اربع اسماء ( رباعي ) وله اسم اخر يتكون من ثلاث اسماء في العمودين وهما نفس الاسم اريد ان لايتم فصلها عند المقارنة بين العموين في العمود C ولكن يتم فصل الاسم المختلف تماما في العموين في العمود C ارجو ان وضحت الفكرة كما بالملف المرفق المطلوب داخل الملف . . . وشكرا مقدما مقارنة بيانات عمود ببيانات عمود اخر.xlsx رابط هذا التعليق شارك More sharing options...
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 رابط هذا التعليق شارك More sharing options...
بلانك قام بنشر فبراير 5 الكاتب مشاركة قام بنشر فبراير 5 (معدل) شكرا جزيلا وبارك الله فيك ...... ولكن ان امكن وضع كل اسم في خلية واحدة وصف واحد اسفل بعضهم لنفس العمود C انظر الصورة للمتوقعة تلاحظ لي وجود الاسماء المفصولة في العمود C مرة اخري ولكن اريدها مرة واحدة لانهم نفس الاسم ولكن ببشكل رباعي او ثلاثي وهذا هو المطلوب من المقارنة انظر للصورة تم تعديل فبراير 5 بواسطه بلانك رابط هذا التعليق شارك More sharing options...
أفضل إجابة 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 رابط هذا التعليق شارك More sharing options...
بلانك قام بنشر فبراير 5 الكاتب مشاركة قام بنشر فبراير 5 بارك الله فيك وزادك علما يارب تعبت حضرتك معايا 1 رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.