oydemir
Altın Üye
- Katılım
- 22 Eylül 2007
- Mesajlar
- 302
- Excel Vers. ve Dili
- Türkçe 2016
- Altın Üyelik Bitiş Tarihi
- 07-12-2026
Aşağıdaki makro kullanmaktayım hocalarıma teşekkür ederim.
Fakat birleştirilen değerler karakter sayısı hücreye sığmayınca kod hata veriyor.
bu hatayı hücrenin aldığı kadar yazdırabilir miyiz.
Böyle nadir durumlar için hücrenin başına "HATALI gösterim " diyebilirmiyiz.
Sub işlem()
Dim son&, veri
Range("H1:H" & Rows.Count).ClearContents
son = Range("B" & Rows.Count).End(xlUp).Row
veri = Range("B1:E" & son).Value
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(veri)
.Item(veri(i, 1)) = .Item(veri(i, 1)) & "," & veri(i, 4)
Next i
For i = 1 To UBound(veri)
veri(i, 1) = Mid(.Item(veri(i, 1)), 2)
Next i
For i = 1 To UBound(veri)
.RemoveAll
For Each elem In Split(veri(i, 1), ",")
If elem <> "" Then .Item(elem) = Null
Next elem
veri(i, 1) = Join(.keys)
Next i
Range("H1:H" & son).Value = veri
End With
MsgBox "İşlem TAMAM.", vbInformation
End Sub
Fakat birleştirilen değerler karakter sayısı hücreye sığmayınca kod hata veriyor.
bu hatayı hücrenin aldığı kadar yazdırabilir miyiz.
Böyle nadir durumlar için hücrenin başına "HATALI gösterim " diyebilirmiyiz.
Sub işlem()
Dim son&, veri
Range("H1:H" & Rows.Count).ClearContents
son = Range("B" & Rows.Count).End(xlUp).Row
veri = Range("B1:E" & son).Value
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(veri)
.Item(veri(i, 1)) = .Item(veri(i, 1)) & "," & veri(i, 4)
Next i
For i = 1 To UBound(veri)
veri(i, 1) = Mid(.Item(veri(i, 1)), 2)
Next i
For i = 1 To UBound(veri)
.RemoveAll
For Each elem In Split(veri(i, 1), ",")
If elem <> "" Then .Item(elem) = Null
Next elem
veri(i, 1) = Join(.keys)
Next i
Range("H1:H" & son).Value = veri
End With
MsgBox "İşlem TAMAM.", vbInformation
End Sub
