Her ilgili sütunun verilerini birleştiren aynı Adda satırların nasıl birleştirileceği


0

Her sütunun verilerini koruyarak aynı adı taşıyan satırları birleştirmem gerekiyor. Örneğin, ilk adı "Adı" ndaki "Mr Bean" adında iki satırımız varsa, "Mr Bean" adı verilen satırlarla ilgili her sütunun verilerini birleştirin, sonra ikinci ve üçüncü satırları silin, ardından tüm verileri yalnızca "Mr Bean" adlı ilk satır. Bu nedenle, tek bir kişiyle ilgili tüm verilerin bir satırda birden fazla satırda olması gerekir.

+-------------------------------------------------------+
| Column Name   Column 2   Column 3   Column 4 Column 5 |
| Mr Bean        2           3                          |
| Mr Bean                    2          3        5      |
| Mr X           3                      3               |
| Mr Y           2           4          1        3      |
+-------------------------------------------------------+

Istenilen çıktı:

+-------------------------------------------------------+
| Column Name  Column 2    Column 3   Column 4 Column 5 |
| Mr Bean        2         3, 2          3        5     |
| Mr X           3                       3              |
| Mr Y           2          4            1        3     |
+-------------------------------------------------------+

Excel dosyamda 4000 satır ve 450 sütun var.


1
Bu cevapla başlar ve üzerine yazmak yerine değerleri birleştirmenin nasıl yapıldığını görürüm.
Raystafarian

Yanıtlar:


1

Bu istediğini yapmalı, istediğin gibi değiştirmelisin -

Sub combine()
Application.ScreenUpdating = False
Dim c As Range
Dim i As Integer

For Each c In Range("A2", Cells(Cells.SpecialCells(xlCellTypeLastCell).Row, 1))
Label:
If c = c.Offset(1) And c <> "" Then
       For i = 1 To 4
            If c.Offset(1, i) <> "" Then
                If c.Offset(, i) = "" Then
                c.Offset(, i) = c.Offset(1, i)
                Else: c.Offset(, i) = c.Offset(, i) & "," & c.Offset(1, i)
                End If
            End If
       Next
       c.Offset(1).EntireRow.Delete
       GoTo Label
End If

Next
Application.ScreenUpdating = True
End Sub
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.