اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

السلام عليكم ورحمة الله وبركاته

نور الله لكم طريقكم اخواني بالمنتدى 

اريد المساعدة بكود يقوم بدمج الخلايا عندما تحمل نفس القيم

 

دمج الخلايا عندما تكون لها نفس القيم.xlsx

تم تعديل بواسطه bachiri401
قام بنشر

1- اي نعديلات على الجدول يجب ادراجها في النطاق  AA1:AG16 لأن الماكرو يأخذ البيانات من هناك بالنسبة للـــ UNMERGE

جرب هذا الماكرو (الصفحة  SALIM  من هذا الملف )

Option Explicit

Sub Mreg_equal_cells()
Dim Ro%, i%, k%, t%, n%, ky
Dim d As Object
Dim Rg As Range
Set d = CreateObject("Scripting.Dictionary")
Ro = Cells(Rows.Count, 1).End(3).Row

For t = 2 To 7
k = 1
Do Until k > Ro
  i = k: n = 1
      Do Until Cells(i, t) <> Cells(i + 1, t)
        n = n + 1
        i = i + 1
      Loop
    Set Rg = Cells(k, t).Resize(n)
    d(Rg.Address) = ""
    k = k + n
Loop

    Application.DisplayAlerts = False
        For Each ky In d.keys
        Range(ky).Merge
        Next
    Application.DisplayAlerts = True

d.RemoveAll
Next

Application.DisplayAlerts = True
End Sub
'+++++++++++++++++++

Sub No_merge()
 Range("AA1:AG16").Copy Range("A1")
    
End Sub

الملف مرفق الصفحة  SALIM 

bachiri401_MERGE.xlsm

  • Like 3
  • Thanks 1
قام بنشر

رائع استاذ وجيه  

باقي كود لأرجاع كل شيء كما كان

 بعد اذنك بلاش الـــ Select دي التي لا فائدة منها

 

Sub aa()
Application.DisplayAlerts = False
Dim i, J As Integer
For J = 1 To 16
    For i = 2 To 7
      If Cells(J, i) = Cells(J, i + 1) And Cells(J, i) <> "" _
        And Cells(J, i + 1) <> "" Then
        Range(Cells(J, i), Cells(J, i + 1)).Merge
      End If
    Next
Next
Application.DisplayAlerts = True
End Sub

 

 

  • Like 3
قام بنشر

كود لأرجاع كل شيء كما كان

Option Explicit

Sub UNMERG()
Dim x%, y%, Cel As Range
    With Range("A1").CurrentRegion
        For Each Cel In .Cells
            x = Cel.MergeArea.Rows.Count
            y = Cel.MergeArea.Columns.Count
            Cel.UnMerge
            Cel.Resize(x, y) = Cel.Cells(1, 1).Value
        Next
    .Borders.LineStyle = 1
    End With
End Sub

 

  • Like 3
قام بنشر

شكرا استاذنا الفاضل على مرورك العطر وبالنسبة لنفطةالغاء الدمج اتفضل الشيت بعد التعديل

نسخة من دمج الخلايا عندما تكون لها نفس القيم-1.xlsm

ماشاء الله استاذ سليم دائما سباق بالخير جعله الله فى ميزان حسناتك

  • Like 2
قام بنشر

(الكود يلغى الغاء دمج الخليه التى تقف عليها)
 اعرف هذا و لكن فيل الدمج مثلا كانت الخلية  B10  و C10 تساويان "رياضيات"

بعد الغاء الدمح الخلية  B10  و حدها  "رياضيات"

  • أفضل إجابة
قام بنشر

ممكن اوي

Option Explicit
Dim Ro%, i%, J%, x%, y%
Dim Rg As Range, Cel As Range
'+++++++++++++++++++

Sub No_merge()
If ActiveSheet.Name <> "Salim" Then GoTo Fin
 
    With Range("A1").CurrentRegion
        For Each Cel In .Cells
        If Cel.MergeCells Then
            x = Cel.MergeArea.Rows.Count
            y = Cel.MergeArea.Columns.Count
            Cel.UnMerge
            Cel.Resize(x, y) = Cel.Cells(1, 1).Value
         End If
        Next
    .Borders.LineStyle = 1
    End With
Fin:
End Sub
'+++++++++++++++++++++++++++++++
Sub Merge_Please()
If ActiveSheet.Name <> "Salim" Then GoTo Fin

Application.DisplayAlerts = False
x = Range("A1").CurrentRegion.Rows.Count
y = Range("A1").CurrentRegion.Columns.Count

 For J = 1 To x
    For i = 1 To y
      If Cells(J, i) = Cells(J, i + 1) And Cells(J, i) <> "" _
        And Cells(J, i + 1) <> "" Then
        Range(Cells(J, i), Cells(J, i + 1)).Merge
      End If
    Next
Next
Fin:
Application.DisplayAlerts = True
End Sub

الملف مرفق

bachiri_MERGE_Unmerge.xlsm

  • Like 1
قام بنشر

رائع ربي يجازيك كل ما تتمنى

قمة الروعة كلمات الشكر وحها لا تكفي

ادعو الله ان يزيدك علما و  يرزقك الجنة 

  • Like 1
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information