[Yardım]  Excelde makronun hızlandırılması

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Excelde makronun hızlandırılması

İleti#1)  Terkes » 11 Haz 2018 15:08

Merhabalar,

Elimizde günlük kullandığımız bir Excel makro mevcut,

A sütununda müşterilere ait telefon numaraları var,
B sütununda ise Kara Liste ye ait telefon numarları mevcut,

Makroya ait Temizle butonuna bastığımızda (B deki veriler) (A daki verilerin) içinden siliniyor,
Bu işlem yaklaşık 15-25 dakika arası sürüyor .( A da 50.000 telefon numarasi, B de 50.000 telefon numarasi ) olduğu zaman.
Bazen günde 1-2 milyon telefon veritabanını bu şekilde temizlememiz gerekiyor. Bu işlem neredeyse tüm günümüzü almaktadır.

Edindiğim bilgilere göre Makro revize edilerek bu işlemin çok daha kısa sürede yapılabileceği, hatta temizlenecek olan telefon numaralarının A sütununa kopyalamaya gerek kalmadan aynı tablo üzerinde C-D-E-F-G veya herhangi bir sütunda olsa bile temizlenebileceğidir.

Makro hızlandırılacak, B de bulunan veriler tüm sütunlardan silinip çıkartılacak, bu problemi nasıl aşabilirim?

Yardımcı olursanız çok sevinirim. [TESEKKÜR]
Kullanıcı avatarı
Terkes
 
Kayıt: 11 Haz 2018 14:33
Meslek: Yonetici
Yaş: 33
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ordu

Cevap: Excelde makronun hızlandırılması

İleti#2)  Terkes » 11 Haz 2018 15:21

Terkes yazdı:Merhabalar,

Elimizde günlük kullandığımız bir Excel makro mevcut,

A sütununda müşterilere ait telefon numaraları var,
B sütununda ise Kara Liste ye ait telefon numarları mevcut,

Makroya ait Temizle butonuna bastığımızda (B deki veriler) (A daki verilerin) içinden siliniyor,
Bu işlem yaklaşık 15-25 dakika arası sürüyor .( A da 50.000 telefon numarasi, B de 50.000 telefon numarasi ) olduğu zaman.
Bazen günde 1-2 milyon telefon veritabanını bu şekilde temizlememiz gerekiyor. Bu işlem neredeyse tüm günümüzü almaktadır.

Edindiğim bilgilere göre Makro revize edilerek bu işlemin çok daha kısa sürede yapılabileceği, hatta temizlenecek olan telefon numaralarının A sütununa kopyalamaya gerek kalmadan aynı tablo üzerinde C-D-E-F-G veya herhangi bir sütunda olsa bile temizlenebileceğidir.

Makro hızlandırılacak, B de bulunan veriler tüm sütunlardan silinip çıkartılacak, bu problemi nasıl aşabilirim?

Yardımcı olursanız çok sevinirim. [TESEKKÜR]
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Terkes
 
Kayıt: 11 Haz 2018 14:33
Meslek: Yonetici
Yaş: 33
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ordu

Cevap: Excelde makronun hızlandırılması

İleti#3)  tasad » 11 Haz 2018 23:45

Kodları boş bir modüle kaydedin ve çalıştırın.
Not:Denemeden önce dosyanın yedeğini alın.

Kod: Tümünü seç
Sub mükerrer_sil()
Dim i As Long
Application.ScreenUpdating = False
Set s1 = Sayfa1
For j = 3 To 10
For i = 2 To Cells(Rows.Count, 2).End(3).Row
If s1.Cells(i, 2) = s1.Cells(i, j) Then
s1.Cells(i, j).ClearContents
End If
Next
Next
Application.ScreenUpdating = True
Call sirala
End Sub
Sub sirala()
Dim i As Long
Application.ScreenUpdating = False

For i = 3 To 10
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).Row, i)), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayfa1").Sort
        .SetRange Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).Row, i))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Next
Application.ScreenUpdating = True
MsgBox "İşlem  Tamam"
End Sub
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 259
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

Cevap: Excelde makronun hızlandırılması

İleti#4)  MDAGISTANLI » 12 Haz 2018 00:10

Şimdiye kadar başka yöntem veya başka makro denediniz mi?
19994 kayıt makro ile 2 dakikada, düşey ara ile 30 saniyede ayıklandı.
Kullanıcı avatarı
MDAGISTANLI
Yeni Başlamış
 
Kayıt: 28 Arl 2017 18:57
Meslek: Microsoft Sistem Yöneticisi
Yaş: 39
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Başakşehir

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Excelde makronun hızlandırılması

İleti#5)  tasad » 12 Haz 2018 12:03

Kodlarda biraz düzenleme yaptım.Bu şekilde de kullanabilirsiniz.
Deneme yapmadan dosyanın yedeğini alın.

Kod: Tümünü seç
Sub mükerrer_sil()
Dim i As Long, j As Integer
Application.ScreenUpdating = False
Say = 0
Set s1 = Sayfa1
For j = 3 To 15
For i = 1 To s1.Range("e500000").End(3).Row
If s1.Cells(i, 2) = s1.Cells(i, j) Then
s1.Cells(i, j).ClearContents
Say = Say + 1
End If
Next

  ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range(Cells(1, j), Cells(Cells(Rows.Count, j).End(xlUp).Row, j)), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayfa1").Sort
        .SetRange Range(Cells(1, j), Cells(Cells(Rows.Count, j).End(xlUp).Row, j))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Next
Application.ScreenUpdating = True
MsgBox (Say & " Adet Telefon Numarası Listeden Silindi.")
End Sub
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 259
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

Cevap: Excelde makronun hızlandırılması

İleti#6)  Terkes » 12 Haz 2018 18:17

İlginize çok teşekkür ederim,

Sn.MDAGISTANLI Makro dışında herhangi bir yöntem denemedim,Sebebi Excel üzerinde çok fazla bilgi sahibi olmamamdır.

Sevgili tasad vermiş olduğunuz kodu dediğiniz yöntemle yazdım ama çalıştıramadım.

Sizlerden ricam ekte gönderdiğim dosya üzerinde değişiklik yapabiliyorsanız yapıp tekrar ekte veya mail ile bana göndermeniz olacaktır. ( XXxxXXxxXX )

Şimdiden teşekkür ederim.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Terkes
 
Kayıt: 11 Haz 2018 14:33
Meslek: Yonetici
Yaş: 33
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ordu

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Excelde makronun hızlandırılması

İleti#7)  tasad » 12 Haz 2018 19:32

Düzenlenmiş dosyayı ekledim.Deneyin , sıkıntı olur ise bildirin.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 259
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

Cevap: Excelde makronun hızlandırılması

İleti#8)  Terkes » 26 Haz 2018 11:55

Düzenlenmiş olan makrolar çalışmadı, konuyla ilgili herhangi bir çözüme henüz ulaşamadık.
Kullanıcı avatarı
Terkes
 
Kayıt: 11 Haz 2018 14:33
Meslek: Yonetici
Yaş: 33
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ordu

Cevap: Cevap: Excelde makronun hızlandırılması

İleti#9)  MDAGISTANLI » 26 Haz 2018 12:23

Terkes yazdı:Düzenlenmiş olan makrolar çalışmadı, konuyla ilgili herhangi bir çözüme henüz ulaşamadık.



DÜŞEYARA'yı denediniz mi?
Kullanıcı avatarı
MDAGISTANLI
Yeni Başlamış
 
Kayıt: 28 Arl 2017 18:57
Meslek: Microsoft Sistem Yöneticisi
Yaş: 39
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Başakşehir

Cevap: Excelde makronun hızlandırılması

İleti#10)  tasad » 27 Haz 2018 10:02

Başka bir çözüm bilmiyorum maalesef.Belki uzman hocalarımızdan bilen vardır.
Size yardımcı olabilirler.
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 259
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: AhrefsBot, erciyan, Google Adsense [Bot], Yandex[Bot] ve 1 misafir

cron
Bumerang - Yazarkafe