- Katılım
- 10 Ekim 2010
- Mesajlar
- 1,469
- Excel Vers. ve Dili
- 2010 Türkçe
Merhaba,
C3:C sütun aralığında rakamsal veriler var, aşağıda verdiğim kod ile bu sütun aralığında ki verilerden aynı olanları birleştiriyor. Kod yavaş değil, ama yavaş çalışıyor. Örneğin tek seferde 150 kadar veri ekliyorum. Bunu birleştiriyorum daha sonra yine veri ekliyorum ve bu kez yavaşlama oluyor. Sayı arttıkça veri birleşmesi yavaşlıyor. Şu an yaklaşık 5000 kadar veri var zamanla çoğalacak ve ciddi yavaşlamalar olacaktır. Bu koda atıyorum son birleştirme 3500 hücrede bitti. Bir sonraki işlemi buradan başlatıp yaptırabilir miyiz? Ya da bu kodu farklı şekilde yazarak daha hızlı bir çalışma sağlayabilir miyiz?
Sub merge()
Application.DisplayAlerts = False
For i = Range("C65536").End(3).Row To 2 Step -1
If Cells(i, 3) = Cells(i - 1, 3) Then
Range(Cells(i, 3), Cells(i - 1, 3)).merge
End If
Next
Application.DisplayAlerts = True
End Sub
C3:C sütun aralığında rakamsal veriler var, aşağıda verdiğim kod ile bu sütun aralığında ki verilerden aynı olanları birleştiriyor. Kod yavaş değil, ama yavaş çalışıyor. Örneğin tek seferde 150 kadar veri ekliyorum. Bunu birleştiriyorum daha sonra yine veri ekliyorum ve bu kez yavaşlama oluyor. Sayı arttıkça veri birleşmesi yavaşlıyor. Şu an yaklaşık 5000 kadar veri var zamanla çoğalacak ve ciddi yavaşlamalar olacaktır. Bu koda atıyorum son birleştirme 3500 hücrede bitti. Bir sonraki işlemi buradan başlatıp yaptırabilir miyiz? Ya da bu kodu farklı şekilde yazarak daha hızlı bir çalışma sağlayabilir miyiz?
Sub merge()
Application.DisplayAlerts = False
For i = Range("C65536").End(3).Row To 2 Step -1
If Cells(i, 3) = Cells(i - 1, 3) Then
Range(Cells(i, 3), Cells(i - 1, 3)).merge
End If
Next
Application.DisplayAlerts = True
End Sub
