Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 02-02-2015, 12:50   #1
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,633
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan Scripting.Dictionary nesnesi hakkında

Merhaba,

Scripting.Dictionary nesnesini öğrenmek için bir örnek çalışma yaptım, tek sütunda işlem yapmak istediğimde yapabildim ama işin içine 2 sütun girince yöntemini bulamadım. Yapmak istediğim sayfa1'de benzersiz olanları sayfa2'de listelemek.

İlave bir sorum daha olacak , Scripting.Dictionary 'de oluşan dizinin tek haneli olarak nasıl alabilirim.

s.Keys bütün verileri kapsıyor, sadece dizideki sıra numarası yazarak nasıl getirebilirim.
Eklenmiş Dosyalar
Dosya Türü: xlsm Scripting.Dictionary-çalışma.xlsm (17.6 KB, 30 Görüntülenme)
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)

Bu mesaj en son " 02-02-2015 " tarihinde saat 13:06 itibariyle kuvari tarafından düzenlenmiştir....
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 13:34   #2
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,640
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

İkinci sütundaki sayılar toplanacak mı? Yani bir nevi ÖZET TABLO gibi mi işlem yapılacak?

Yoksa iki sütuna göre benzersiz kayıtlarımı listelemek istiyor sunuz?
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 13:42   #3
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,633
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan

Alıntı:
Korhan Ayhan tarafından gönderildi Mesajı Görüntüle
İkinci sütundaki sayılar toplanacak mı? Yani bir nevi ÖZET TABLO gibi mi işlem yapılacak?

Yoksa iki sütuna göre benzersiz kayıtlarımı listelemek istiyor sunuz?
Korhan üstad benzersiz kayıtları listelemek istiyorum.

Başka bir sayfada toplam olarakta aldırabilirsiniz. İkisinide görmüş olurum.
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 13:47   #4
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,640
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Aşağıdaki kod çift sütuna göre benzersiz verileri listeler.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub BENZERSİZ_ÇİFT_SÜTUN()
    Dim s As Object, liste(), dizi()
    
    Son = Sheets(1).Cells(Rows.Count, "a").End(3).Row
    liste = Sheets(1).Range("a2:b" & Son).Value
    
    ReDim dizi(1 To Son, 1 To 2)
    
    Set s = CreateObject("Scripting.Dictionary")
    
    For i = 1 To UBound(liste, 1)
        Aranan = liste(i, 1) & liste(i, 2)
        If Not s.exists(Aranan) Then
            s.Add Aranan, Nothing
            Say = Say + 1
            ReDim Preserve dizi(1 To Son, 1 To 2)
            dizi(Say, 1) = liste(i, 1)
            dizi(Say, 2) = liste(i, 2)
        End If
    Next i
    
    Sheets(2).Range("A2").Resize(s.Count, 2) = dizi
End Sub
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 13:57   #5
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,640
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Aşağıdaki kod ise tek sütundaki benzersizleri listelerken ikinci sütundaki verileri toplayarak rapor oluşturur. Yani bir nevi özet tablo gibi çalışır.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub BENZERSİZ_TEK_SÜTUN_TOPLAMALI()
    Dim s As Object, liste(), dizi()
    
    Son = Sheets(1).Cells(Rows.Count, "a").End(3).Row
    liste = Sheets(1).Range("a2:b" & Son).Value
    
    ReDim dizi(1 To Son, 1 To 1)
    
    Set s = CreateObject("Scripting.Dictionary")
    
    For i = 1 To UBound(liste, 1)
        Aranan = liste(i, 1)
        If Not s.exists(Aranan) Then
            Say = Say + 1
            s.Add Aranan, Say
            ReDim Preserve dizi(1 To Son, 1 To 2)
            dizi(Say, 1) = liste(i, 1)
        End If
        dizi(s.Item(Aranan), 2) = dizi(s.Item(Aranan), 2) + liste(i, 2)
    Next i
    
    Sheets(2).Range("A2").Resize(s.Count, 2) = dizi
End Sub
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 14:17   #6
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,633
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan

Hocam ellerinize sağlık, çok güzel başvuru kaynağı oldu benim için.

Hocam bir sorum daha vardı,Scripting.Dictionary dizinindeki sıra numarasına göre nasıl gösterebilirim, dizi (1) dediğimde dizinin birinci değerini getirmek gibi.
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 14:48   #7
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,633
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan

Korhan hocam bir sorum daha olacak. Sadece "a" ları listelemek isteseydim, nasıl kodlamak gerekirdi.
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)

Bu mesaj en son " 02-02-2015 " tarihinde saat 14:58 itibariyle kuvari tarafından düzenlenmiştir....
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 16:02   #8
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,640
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Şimdilik aşağıdaki linki inceleyiniz. Bol bol örnek var.

http://www.snb-vba.eu/VBA_Dictionary_en.html
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 16:33   #9
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,633
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan

Korhan bey kaynak için sağolun,yine de sizden cevap bekliyorum.
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-02-2015, 17:01   #10
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,633
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan

Korhan bey sadece a'ları getirebildim ama Scripting.Dictionary nesnesine hiç ihtiyacım olmadı.

Aklıma takılan Scripting.Dictionary dizinindeki sıra numarasına göre nasıl gösterebilirim, dizi (1) dediğimde dizinin birinci değerini getirmek gibi

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Base 1
Sub BENZERSİZ_ÇİFT_SÜTUN()
On Error Resume Next
    Dim s As Object, liste(), dizi()
    
    Son = Sheets(1).Cells(Rows.Count, "a").End(3).Row
    liste = Sheets(1).Range("a2:b" & Son).Value
    
    ReDim dizi(1 To Son, 1 To 2)
    
    Set s = CreateObject("Scripting.Dictionary")
    
    For i = 1 To UBound(liste, 1)
        aranan = liste(i, 1)
       If aranan = "a" Then
    '    If Not s.exists(aranan) Then
            s.Add aranan, Nothing
            Say = Say + 1
            ReDim Preserve dizi(1 To Son, 1 To 2)
            dizi(Say, 1) = liste(i, 1)
            dizi(Say, 2) = liste(i, 2)
        'End If
        End If
    Next i
    
    Sheets(2).Range("A2").Resize(UBound(dizi), 2) = (dizi)
End Sub
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)

Bu mesaj en son " 02-02-2015 " tarihinde saat 17:18 itibariyle kuvari tarafından düzenlenmiştir....
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 19:23


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden