Hücreleri Duruma Göre Birleştirme

Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Ek dosyayı deneyiniz
Eğer "B" hücresi aynı olsada birleşmesi gerekse; aşağıdaki kırmızı bölümü silersiniz.

Kod:
Private Sub CommandButton1_Click()
For a = 2 To Cells(Rows.Count, 1).End(3).Row
For b = Cells(Rows.Count, 1).End(3).Row To a + 1 Step -1
If Trim(Cells(a, "A")) & Trim(Cells(a, "F")) = _
Trim(Cells(b, "A")) & Trim(Cell[COLOR="Red"]s(b[/COLOR], "F")) Then
Cells(a, "B") = Trim(Cells(a, "B"))
[COLOR="Red"]Set r = Range("B" & a).Find(Cells(b, "B").Value, , xlValues, xlPart)
If r Is Nothing Then[/COLOR]
If Right(Cells(a, "B"), 1) = "-" Then _
Cells(a, "B") = Trim(Left(Cells(a, "B"), Len(Cells(a, "B")) - 1))
Cells(a, "B") = Trim(Cells(a, "B")) & " - " & Trim(Cells(b, "B"))
[COLOR="Red"]Set r = Nothing
End If[/COLOR]
Cells(b, "A").EntireRow.Delete
End If
Next
If Cells(Rows.Count, 1).End(3).Row = a Then Exit For
Next
End Sub
 
Son düzenleme:
Katılım
30 Aralık 2016
Mesajlar
39
Excel Vers. ve Dili
Office 2008-2010-2013-2016
Türkçe
Altın Üyelik Bitiş Tarihi
11.02.2022
merhaba PLİNT,

verdiğiniz uğraş için teşekkür ederim. Ancak yaptığınız örnek dosya sadece A sütunu aynı olan ürünlerin B sütunlarını birleştiriyor. 1 no'lu mesajdaki örnek dosyada F sütunun öncelikli olduğunu belirtmiştim.

Teşekkür ederim.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Yukarıdaki kodda;
Kod:
Trim(Cells(b, "A")) & Trim(Cel[COLOR="Red"]ls(b[/COLOR], "F")) Then
"a" yerine "b" olmalıydı hata yapmışız
Birkaç ekleme daha yapmaya çalıştığım ek dosyayı deneyin.
http://s3.dosya.tc/server10/cmptjd/products.zip.html
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
For a = 2 To Cells(Rows.Count, 1).End(3).Row
For b = Cells(Rows.Count, 1).End(3).Row To a + 1 Step -1

If Trim(Cells(a, "A")) & Trim(Cells(a, "F")) = _
Trim(Cells(b, "A")) & Trim(Cells(b, "F")) Then

Cells(a, "B") = Trim(Cells(a, "B"))
Set r = Range("B" & a).Find(Trim(Cells(b, "B").Value), , xlValues, xlPart)
If r Is Nothing Then
If Right(Trim(Cells(a, "B")), 1) = "-" Then _
Cells(a, "B") = Trim(Left(Trim(Cells(a, "B")), Len(Trim(Cells(a, "B"))) - 1))
Cells(a, "B") = Trim(Cells(a, "B")) & " - " & Trim(Cells(b, "B"))
Set r = Nothing
End If
Cells(b, "A").Select
Cells(b, "A").EntireRow.Delete
End If
Next
If Cells(Rows.Count, 1).End(3).Row = a Then Exit For
Next
End Sub [/SIZE]
 
Katılım
30 Aralık 2016
Mesajlar
39
Excel Vers. ve Dili
Office 2008-2010-2013-2016
Türkçe
Altın Üyelik Bitiş Tarihi
11.02.2022
Tekrar merhaba PLİNT,

Yardım ettiğin için çok teşekkür ederim.

Beni nasıl bir işten kurtardığının farkındasın :D Minnettarım.
 
Üst