Excel’de satırdaki verileri tek bir hücreye yazdırma
Excel’de bir sütundaki değerleri, satırlarda yer alan bir ID değerine göre gruplandırmak için bir formül yok, varsa da ben bilmiyorum…
Aşağıdaki kod parçacığı, satırlardaki değerleri kontrol ederek, aynı ID’li satırlar için, bir sütundaki verileri yan yana birleştirerek, tek bir hücreye yazıyor…
Aşağıdaki tabloda örneğini görmek mümkün…
| ID | Data | –> | ID | Data | Hedef |
| 1 | Ali | 1 | Ali | Ali-Veli-Kırk dokuz-Elli | |
| 1 | Veli | 1 | Veli | ||
| 1 | Kırk dokuz | 1 | Kırk dokuz | ||
| 1 | Elli | 1 | Elli | ||
| 2 | Ali | 2 | Ali | Ali-Veli-Kırk dokuz-Elli | |
| 2 | Veli | 2 | Veli | ||
| 2 | Kırk dokuz | 2 | Kırk dokuz | ||
| 2 | Elli | 2 | Elli |
Sub Button1_Click()
Dim SearchValue, temp_SearchValue As String
Dim ValueArray, Value_1, Value_2 As String
Dim RowIndex, ValueColumnIndex, SearchColumnIndex, TargetColumnIndex As Integer
RowIndex = 3 ‘ Aramaya hangi satirdan baslayacak?
SearchValue = 0
temp_SearchValue = 0
ValueArray = “”
ValueColumnIndex = 8 ‘ Hangi sütundaki degerleri gruplandiracak
SearchColumnIndex = 1 ‘ Gruplandirmayi hangi sütundaki degerlere gore yapacak
TargetColumnIndex = 9 ‘ Gruplandirilmis sonuclari hangi sütuna yazacakValue_2 = Cells(3, ValueColumnIndex)
Sheet1.Select
i = 3
Do While Cells(i, SearchColumnIndex) <> “”
SearchValue = Cells(i, SearchColumnIndex).Value
Value_1 = Cells(i, ValueColumnIndex).ValueIf SearchValue <> temp_SearchValue Then
ValueArray = “”
RowIndex = i
temp_SearchValue = Cells(i, SearchColumnIndex).Value
If ValueArray = “” Then
ValueArray = Value_1
Else
ValueArray = ValueArray & “-” & Value_1
End IfElse
If Value_1 <> Value_2 Then
If ValueArray = “” Then
ValueArray = ValueArray
Else
ValueArray = ValueArray & “-” & Value_1
End If
End IfEnd If
‘Debug.Print “i : ” & i & ” - SearchValue : ” & SearchValue & ” - temp_SearchValue : ” & temp_SearchValue & ” - Value_1 : ” & Value_1 & ” - Value_2 : ” & Value_2
Value_2 = Cells(i, ValueColumnIndex)
Cells(RowIndex, TargetColumnIndex) = ValueArrayi = i + 1
Loop
End Sub
Microsoft yazmazsa sen yazarsın ![]()
2 yorum
