VBA'DE ÇOK KOLAY CLASS OLUSTURMA - KENDİMİZE ÖZEL DİCTİONARY OBJESİ OLUSTURMA

Поділитися
Вставка
  • Опубліковано 19 жов 2024
  • VBA VE EXCEL İLE İLGİLİ KURUMSAL VE BİREYSEL EĞİTİMLER İÇİN BANA 0532 456 53 99 NUMARASI ÜZERİNDEN ULAŞABİLİRSİNİZ.

КОМЕНТАРІ • 45

  • @necdet.yesertener
    @necdet.yesertener 2 роки тому +1

    Böylesine önemli bir konunun açıklanmasını çok güzel anlatan Uzman Excel arkadaşımıza teşekkür ederim. Bu yorumu yaparken ben dahil 47 beğeni olmuş ki bana göre çok üzücü.

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Çok teşekkür ederim Necdet Bey. Çok naziksiniz. İnşallah artar diyelim

  • @adnanyurdakul298
    @adnanyurdakul298 2 роки тому +1

    Çok teşekkürler. Ağzınıza sağlık.

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Çok teşekkür ederim Adnan Bey. Çok naziksiniz

  • @alivali7263
    @alivali7263 2 роки тому

    Teşekkür ederim
    Güzel bir konu olmuş

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Çok teşekkür ederim Ali Bey. Çok naziksiniz

  • @gezdikcebilelim
    @gezdikcebilelim 2 роки тому +1

    Veee mehmet hocam bizi bilgisiz bırakmamış. Hocam biz senden önce hücreye bilgi yazdırınca kendimizi filozof görüyorduk 😊

    • @UzmanExcel
      @UzmanExcel  2 роки тому +1

      Çok teşekkür ederim Sefa Bey. Çok naziksiniz.

  • @sedataksakal414
    @sedataksakal414 2 роки тому +1

    Teşekkür ederim. Çok sade güzel bir ders oldu. Çok sağolun. Z den A ya sıralamayı büyüktür yerine küçüktür yapınca gayet güzel çalıştı:) If mColl(i) < mColl(j) Then

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Reverse olanın cevabını merak ediyorum aslında Sedat Bey. Onunla ilgili bir kodunuz var mi?

    • @sedataksakal414
      @sedataksakal414 2 роки тому +1

      @@UzmanExcel Mehmet bey yaklaşık 30 yıllık inşaatçıyım Programcı yapacaksınız bizi :) Emekleriniz için Tekrar teşekkürler. Allaha emanet
      Modul Kısmına
      Sub GeriyeDogruIslem()
      Dim eskiColl As New classDictionary
      With eskiColl
      .Ekle "Sedat"
      .Ekle "Vedat"
      .Ekle "Nihat"
      .Ekle "Ahmet"
      End With
      eskiColl.GeriyeDogru
      End Sub
      'class kısmına
      Public Sub GeriyeDogru()
      Dim YeniColl As New Collection
      Dim i As Long

      For i = mColl.Count To 1 Step -1
      YeniColl.Add mColl(i)
      Next i
      Set mColl = YeniColl
      End Sub

    • @UzmanExcel
      @UzmanExcel  2 роки тому +1

      Doğru cevap. Tebrikler. Hepinizi developer yapacağım inşallah

  • @zafergun68
    @zafergun68 2 роки тому +1

    Merhaba hocam.
    Raiseevent olayını rica etsem anlatabilr misiniz?
    Event ve Raiseevent beraber kullanılıyor heralde.Araştırmalarımda anlatamadım ve sanırım Türkçe kaynskta yok.

    • @UzmanExcel
      @UzmanExcel  2 роки тому +1

      İnşallah Zafer Bey. Listeye ekliyorum

  • @nurullahozturk1209
    @nurullahozturk1209 2 роки тому +1

    Merhaba Mehmet bey, Udemy ders videolarının devamı gelecek mi, sanırım dersler tam olarak bitmedi.

    • @UzmanExcel
      @UzmanExcel  2 роки тому +1

      Merhaba Nurullah Bey. Udemy dersleri bitti. Pek vaktim yok ama inşallah yeni videolar çekersem UA-cam'a, onları da yüklerim Udemy'e

  • @emrullahakcelik552
    @emrullahakcelik552 2 роки тому +1

    Hocam sanki yeni video vardı göremiyorum. Yanlış mı izledim yarısını? 😅

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      O videodaki Google Sheets Form özellikleri değişmiş. Artık doğru değil ordaki bilgiler. Ondan kaldırdım

  • @alivali7263
    @alivali7263 2 роки тому +1

    Hocam
    Sıralama metodu False ise ayrı Sub'te aynı sıralamayı Küçük ise yaparak sıralayıp Exit Function yaparak fonksiyon'den çıkabiliriz

    • @alivali7263
      @alivali7263 2 роки тому

      Tabii If yardımıyla

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Kod blogunu bekliyorum Ali Bey. :)
      Cevaplari merak ediyorum

  • @olcaytuaka9392
    @olcaytuaka9392 2 роки тому +1

    Merhaba Hocam.
    Çok meraklı, afacan biriyimdir :)
    Orayı burayı karıştırırken, VBA'ya alternatif olarak Python kullanıldığını öğrendim.
    Neyyy! Python mu?
    Evet.
    Hatta yıllardan beri gelen bir süreçmiş. Excel uzmanları VBA'nın eskiliğinden,
    yetersizliğinden şikayet edip duruyorlarmış Microsoft'a. Yeni bir, özellikle
    'otomasyon' diline ihtiyaç olduğundan bahsediyorlarmış. Python'un zaten acayip
    'utility'leri var: Pandas, Numpy gibi. [Python biliyorum.] Vs...
    Söyleseydiniz ya Hocam, "VBA ile kafanı yorma, (Excel için) Python'a yönel" diye!
    Neyse... Bu VBA kursunu bitirdiğinize göre, belki "Python ile Excel" gibi bir
    kursa başlarsınız. Biz de sizi izlemeye devam ederiz.
    Çalışmalarınızda kolaylıklar dilerim.

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Python ile Excel kullanmak tam bir çile. Excel için hala en iyisi. Native sonuçta. Pandas zaten Excelin aynısı. Bence Python Excel için pek de uygun değil

  • @sametcimen3767
    @sametcimen3767 2 роки тому +1

    Merhaba Hocam, array deki bazı verileri döngü ile çıkarmak istiyorum mümkün müdür?

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Benim yeni array class videomu izleyebilirsiniz. Orda anlatıyorum

    • @sametcimen3767
      @sametcimen3767 2 роки тому +1

      @@UzmanExcel sanırım çokefiltrele den bahsettiniz hocam çünkü tüm videolarınızı izledim. Çokefiltrelede de hariç tut diyemedim sanırım beceremedim.

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Onu yeniledim. En son versiyonunu indirebilirseniz hata muhtemelen gidecektir

    • @sametcimen3767
      @sametcimen3767 2 роки тому +1

      @@UzmanExcel şimdi oldu hocam çok teşekkürler 🙏🏻

  • @alivali7263
    @alivali7263 2 роки тому +2

    Hocam
    Kodu hazırladım

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Buraya yazabilirsiniz Ali Bey

    • @alivali7263
      @alivali7263 2 роки тому

      Bi yöntem daha var
      Tek Fonksiyon de yapmak
      Class kısmı
      Public Function AZSirala(Optional SiralamaMetodu As Boolean = True)
      Dim i As Long
      Dim j As Long
      Dim vTemp As Variant
      For i = 1 To m_col.Count
      For j = i + 1 To m_col.Count
      If m_col(i) > m_col(j) And SiralamaMetodu = True Then
      vTemp = m_col(j)
      m_col.Remove j
      m_col.Add vTemp, vTemp, i
      ElseIf m_col(i) < m_col(j) And SiralamaMetodu = False Then
      vTemp = m_col(j)
      m_col.Remove j
      m_col.Add vTemp, vTemp, i
      End If
      Next j
      Next i
      End Function

    • @necdet.yesertener
      @necdet.yesertener 2 роки тому +1

      Benden önce yorum yapılmış, geç kalmışım :)

  • @serdarkancan
    @serdarkancan 4 місяці тому +1

    Miras alma yok degil mi? Vba da

  • @necdet.yesertener
    @necdet.yesertener 2 роки тому +2

    Merhaba, ZA sıralamada bir If ile çözmek olası. Kodlar biraz uzun gibi olabilir ama sonuca ulaştırır.
    Public Function AZSirala(Optional SiralamaMetodu As Boolean = True)
    Dim i As Long
    Dim j As Long
    Dim vTemp As Variant
    If SiralamaMetodu = True Then
    For i = 1 To m_Coll.Count - 1
    For j = i + 1 To m_Coll.Count
    If m_Coll(i) > m_Coll(j) Then
    vTemp = m_Coll(j)
    m_Coll.Remove j
    m_Coll.Add vTemp, vTemp, i
    End If
    Next j
    Next i
    Else
    For i = 1 To m_Coll.Count - 1
    For j = i + 1 To m_Coll.Count
    If m_Coll(i) < m_Coll(j) Then
    vTemp = m_Coll(j)
    m_Coll.Remove j
    m_Coll.Add vTemp, vTemp, i
    End If
    Next j
    Next i
    End If
    End Function

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Bu yavaş bir sort algoritmasi, bunu merge sort algoritmasi ile yaparsaniz daha hızlı olacaktır

    • @necdet.yesertener
      @necdet.yesertener 2 роки тому +1

      @@UzmanExcel merge sort olayını ilk defa duydum, bilsem uğraşırdım. Teşekkürler.

    • @UzmanExcel
      @UzmanExcel  2 роки тому

      Binary search gibi çalışıyor