• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Combobox seçimi yapınca veriyi büyükten küçüğe sıralasın

  • Konbuyu başlatan Konbuyu başlatan Kekoli
  • Başlangıç tarihi Başlangıç tarihi
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Merhaba,

combobox'ta seçim yaptığım zaman, vereceğim aralıkta filtrlemede "Büyükten Küçüğe Sırala" işlevini gerçekleştirsin istiyorum makronun, nasıl yapabilirim?
 
Kod:
Sub Macro10()
 ActiveWorkbook.Worksheets("Pivot").AutoFilter.Sort.Apply
End Sub

bu kod iş görüyor ama, ekranın olduğu alanı değiştiriyor, tablonun olduğu alana gidiyor ekran. arka planda çalışmasını nasıl sağlarım, ekran neredeyse orada kalsın...
 
Merhaba.
Makronun başına Application.ScreenUpdating = False
sonuna da Application.ScreenUpdating = True şeklinde birer satır eklerseniz görsel sorun hallolur.
.
 
Ömer Bey,
Olağanüstüsünüz.
Yardımcı olduğunuz gibi, bunu çok büyük bir titizlik ve özenle yapıyorsunuz.
Çok teşekkürler.
Sizler gibi burada yeni öğrenen arkadaşlara faydalı olmak bizlere de nasip olur inş.
Ellerinize sağlık.
 
Merhaba.
Makronun başına Application.ScreenUpdating = False
sonuna da Application.ScreenUpdating = True şeklinde birer satır eklerseniz görsel sorun hallolur.
.

Üstadım, bu çok güzel oldu ama bir sorum daha olacak,

Makroyu combobox'a uyguladım, sorun yok, bir de dilimleyicim (slicer)'im var, 3 ayrı pivot tablo tek bir data verisinden oluşuyor.
ve dilimleyici sayesinde her 3 pivot tablo aynı sütun üzerinden tek seferde filtreleniyor.

doğal olarak sayfada iki adet seçim yaptırıyorum, biri combobox'tan, diğeri dilimleyiciden.
dilimleyiciye aynı makroyu uyguladığımda, dilimleyici üzerinde seçim yapmak mümkün olmuyor.
tıklıyorum ama değiştirmek istediğim filtre değişmiyor, hangisi seçiliyse, sürekli o seçili kalıyor ve her tıkladığımda sadece ekran refresh oluyor (muhtemelen makro aynı filtre üzerinde çalışıyor ama değişiklik yapamadığım için bir anlamı olmuyor)

anlatabildiğimi umut ediyorum,

şöyle bir şey yaptım ama hata veriyor,
Kod:
Sub deneme()
If ActiveWorkbook.SlicerCaches("Slicer_baskanlik").SlicerItems.Selected Then
Application.ScreenUpdating = False
ActiveWorkbook.Worksheets("Pivot").AutoFilter.Sort.Apply
Application.ScreenUpdating = True
End If
End Sub


edit 2 : bu arada şunu da yapabiliriz,

en nihayetinde dilimleyiciden seçim yaptığımda, A2 hücresindeki değerler sürekli değişiyor, (çünkü filtreleme hücresi a2)

A2 hücresi değiştiğinde
Application.ScreenUpdating = False
ActiveWorkbook.Worksheets("Pivot").AutoFilter.Sort.Apply
Application.ScreenUpdating = True

bold olan kısmı makro ile yazabilirsem yine çalışacaktır sanırım ve en kolayı bu olacaktır gibi.

edit 3 : internette bir çok örnek buldum, hücre değeri değiştiğinde makro çağırmak ile alakalı, fakat hücre değeri filtrelemeye (pivot tablo filtresi)'ne bağlı olarak değiştiği için midir nedir bilemedim, hiç biri çalışmadı (ayrıca pivot tablo dışında da el ile manuel değişiklik yapmaya çalıştığımda da değişen bir şey olmadı.)


edit 4: sen o kadar kod dene, sonra tek bir kelime işini görsün, olacak iş değil :) aşağıdaki şekilde çözdüm arkadaşlar,

Kod:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

Macro10

End Sub
 
Son düzenleme:
.
 
Geri
Üst