OZEL ARRAY CLASS KULLANIMI VE ORNEKLER

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 51

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

    Üstadım Allah emeklerinizi zayi etmesin. Büyük emek var bu işte.
    Birlestir2DArray da
    yaptığınız düzeltmeyi bir üst satırda düzeltmek gerekiyor, yoksa sadece ilk sütunu arraya yüklüyor.
    For i = LBound(IlkArray, 1) To UBound(IlkArray, 1)
    For j = LBound(IlkArray, 2) To UBound(IlkArray, 2)
    arrBirlestir(i, j) = IlkArray(i, j)
    Next j
    Next i
    Çok teşekkür ederim. Kolay gelsin.

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

      Çok teşekkür ederim Sedat Bey. Çok naziksiniz. Bakacağım dediğiniz koda

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

    tesekkürler hocam, sizlerin sayenizde class larin dünyasina kesfediyoruz.

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

      Çok teşekkür ederim Adnan Bey. Elimden geldiğince güzel içerikler üretmeye çalışıyorum

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

    Emeğinize sağlık hocam.👏🏻👏🏻👏🏻

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

      Videoyu izlemeden yazmıştım. Hocam mükemmel olmuş. Çok teşekkürler. Var mı daha kontrol etmedim ama Replace de olsa çok yakışır bu classa hocam.

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

      Çok teşekkür ederim Emrah Bey. Sizden bekliyorum o zaman Replace özelliğini

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

      @@UzmanExcel inşallah hocam. Zaman bulabilirsem ilgileneceğim.

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

    Mehmet Hocam mükemmel eğitim olmuş Elinize Emeğinize sağlık çok sağolun. Allah kat kat razı olsun. İnşallah

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

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

  • @ilyasocak1631
    @ilyasocak1631 5 місяців тому +1

    Üstadım Merhaba. öncelikle çalışmalarınız için sizi kutlarım. Verileri alandan yükle gibi sql veri tabanından direk nasıl yükleriz. Böyle bir özellik yok sanırım. Yaptığım denemelerde başaramadım.

    • @UzmanExcel
      @UzmanExcel  5 місяців тому

      Recordset alinip yapilabilir diye düşünüyorum

  • @yusufoksuzz
    @yusufoksuzz 8 місяців тому +1

    İki boyutlu özel array normal array nasıl çevirebiliriz hocam bir de hocam

    • @UzmanExcel
      @UzmanExcel  7 місяців тому

      İcinde vardi galiba oyle bir özellik

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

    Hocam emeğinize sağlık aslında sana micro softun bile maaş bağlaması lazım ....
    hocam bu " Alandan al " ile verileri alabiliyoruz fakat mesala listview deki cok satır ve sütunlu verileri nasıl array'a yükleyip sayfaya aktarabiliriz

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

      Çok teşekkür ederim Mustafa Bey. Aslında form verileri ile çalışan özellikler ekledim fakat maalesef Excel açıldığında bu elemanlara en az bir form eklenmeden aktif olmuyor form kütüphanesi. Ondan dolayı derlerken sıkıntı çıkarıyor. Bende ondan dolayı kaldırdım form elemanı özelliklerini

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

      @@UzmanExcel peki hocam vba in aray ine çekip sonra bizim arr ye aktarma şansımız yokmu

    • @yusufoksuzz
      @yusufoksuzz 8 місяців тому

      @@mustafakozbey3150 ua-cam.com/video/iqbKaSmZ8Oo/v-deo.htmlsi=x3LXvYSN1lwGUSIi&t=971

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

    Hocam class inizin kullanım detayları ile ilgili videolar çok faydalı oldu. Emeğiniz için teşekkürler. Birleştirme özelliği ile ilgili bir sorum olacak, birleştirilecek array lerin sayısının her defasında değiştiği durumlarda nasıl hareket edebiliriz? Her işlemde kodu revize etmeden, mesela birleştirilmek istenen arrayler tanımlanırken kullanıcı birleştirmek istediği arrayleri seçebilir mi yada döngüsel bir işleyişle kod otomatik olarak ilgili sayfa yada sayfalardaki tüm veriyi arrayleri atayıp yine bir döngü ile tek tek birleştirme yapabilir mi?

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

      Her seferinde bir dinamik range içerisinden arraylere aktarabilir ve bu arrayleri class in içerisinde döngü ile birleştirebilirsiniz

  • @HeryolExcel
    @HeryolExcel 9 місяців тому +1

    ClsArray2d MaxMin fonksiyonunda string değerler için max fonksiyonunu çalıştıramadım. desteğinizi rica ederim.

    • @UzmanExcel
      @UzmanExcel  9 місяців тому

      Proje artik public oldugu icin gelistirmesini sizlere biraktim bende

    • @HeryolExcel
      @HeryolExcel 9 місяців тому

      çok teşekkürler, hayırlı ramazanlar@@UzmanExcel

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

    Hocam selamlar, çoketoplayı dinamik yapmak istersek yani kriter kısmına "mehmet" yerine ikinci bir array koymak gibi bir ihtimalimiz var mıdır?

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

      Formullerden pek anlamam ama array formülü ile yapılabilir sanki. En kötü udf ile yapılabilir

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

      @@UzmanExcel demek istediğim yine vba ile aslında, şöyle 55bin satırlık veriyi çoketopla yaptığımda 8 dakika falan sürüyor döngüden dolayı acaba sizin advanced array ile yapabilir miyim diye düşündüm

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

      Tabiki yapabilirsiniz

  • @emrullahakcelik552
    @emrullahakcelik552 Рік тому +1

    Hocam iki array birleştirme özelliğini denerken şöyle bir hata aldım; anladığım kadarıyla ilk array'in satır sayısı daha az ise run-time error '9' veriyor. Siz böyle bir hata aldınız mı?

    • @UzmanExcel
      @UzmanExcel  Рік тому

      Yok Emrullah Bey. Ben hata almadım daha önce

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

    Hocam merhaba , Bu class geliştirme olayını biraz gevşettiniz galiba... Hocam bu arr.çokefiltrele olayında ölçüt aralığında sağdan yada soldan belli bir aralığı ölçüt olarak arattırabiliyormuyuz...sanki class ın içinde left ve right olayları var gibi

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

      Merhabalar Mustafa Bey
      Class benim için sonlandı. İşimi görüyo su an benim. Dediğiniz gibi arama var. Wildcard kullanarak arama yapabilirsiniz. Ekstra özellik isterseniz onlari da sizden bekliyorum

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

      @@UzmanExcel hocam ben kendimce amatör bile değilim....dediğiniz çok şeyi bilmem mesela wildcard nedir...??
      ama siz şuraya bir satır yazıp örnek verirseniz ... mesela " arr.cokefilrele(false,vbTextConpare,right ( 2,7) ,xxx) gibi...bu rigt nasıl yapıcaz hocam

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

      Estağfurullah. Arayacağıniz kelimenin sağına * isareti koyarsaniz left gibi çalışır, soluna koyarsaniz right gibi çalışır, iki tarafina da koyarsaniz kelimeyi içinde arayarak çalışır

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

      @@UzmanExcel hocam ya kusura bakmayın ama beceremedim bana şölle izah edebilirmisiniz ?...
      mesela arr nin 2.sütununda normal tarihlerim var ölçüt aralığım orası , ölçütüm ise sayfada " 01.2022" yani ay ve yıl olarak ...örnek
      arr.çokefiltrele(false,vbTextConpare,2,sayfa1.cells(4,2))
      işte hocam bana bu örneği doldururmusunuz rica etsem

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

      Bilgisayar başına geçince doldurayım inşallah. Bir de cokefiltrele guncellendi. En güncel halini indirebilirsiniz en stabil hali için

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

    Mehmet Bey
    clsArray2D paylaşımınız için teşekkür ederim. Matris tablo çözümü için küçük bir kod yazdım, çorbada benimde tuzum olsun.
    Public Sub Matris()
    Dim arr As New clsArray2D
    Dim solvedmatris As New clsArray2D
    Dim arrmtrs As Variant
    Dim rng As Range
    Dim x, y, i, j, q As Integer
    Set rng = ThisWorkbook.Worksheets("Sayfa1").Range("A1").CurrentRegion
    arr.AlandanYukle rng, False
    ReDim arrmtrs(1 To (arr.SatirBitis - 1) * (arr.SutunBitis - 1), 1 To 3)
    For x = 2 To arr.SatirBitis
    For y = ((arr.SutunBitis - 1) * (x - 2)) + 1 To (arr.SutunBitis - 1) * (x - 1)
    arrmtrs(y, 1) = arr.Value(x, 1)
    Next y
    Next x
    j = 1
    For q = 2 To arr.SatirBitis
    For i = 2 To arr.SutunBitis
    arrmtrs(j, 2) = arr.Value(1, i)
    arrmtrs(j, 3) = arr.Value(q, i)
    j = j + 1
    Next i
    Next q
    solvedmatris.ArraydenYukle arrmtrs
    Worksheets.Add
    solvedmatris.VeriyiAlanaYazdir ActiveSheet.Range("A1")
    End Sub

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

      Ali İhsan Bey merhaba
      Katkılarıniz için çok teşekkür ederim. Aciklamadaki linkten kodu text editor ile güncelleyebilirsiniz. Kodu da en kısa zamanda test edeceğim. Ne yaptığını da yazabilirseniz sevinirim

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

      @@UzmanExcel Merhaba Mehmet Bey
      Üç kez denedim ama kaydedemedim text editore, kod Power BI' Daki sütun çözme aracı gibi, yada pivot tablo terse döndürmek gibi.
      Kusura bakmayın sizden rica edeceğim Class modüle aşağıdaki prosedürü ekleyebilirmisiniz;
      Public Sub MatrisSolve(ByVal rng As Range)
      Dim arr As New clsArray2D
      Dim solvedmatris As New clsArray2D
      Dim arrmtrs As Variant
      Dim x, y, i, j, q As Integer
      arr.AlandanYukle rng, False
      ReDim arrmtrs(1 To (arr.SatirBitis - 1) * (arr.SutunBitis - 1), 1 To 3)
      For x = 2 To arr.SatirBitis
      For y = ((arr.SutunBitis - 1) * (x - 2)) + 1 To (arr.SutunBitis - 1) * (x - 1)
      arrmtrs(y, 1) = arr.Value(x, 1)
      Next y
      Next x
      j = 1
      For q = 2 To arr.SatirBitis
      For i = 2 To arr.SutunBitis
      arrmtrs(j, 2) = arr.Value(1, i)
      arrmtrs(j, 3) = arr.Value(q, i)
      j = j + 1
      Next i
      Next q
      solvedmatris.ArraydenYukle arrmtrs
      Worksheets.Add
      solvedmatris.VeriyiAlanaYazdir ActiveSheet.Range("A1")
      End Sub
      kullanım için modülde aşağıdaki iki satırı kullanabilirsiniz;
      Dim sonuc As New clsArray2D
      sonuc.MatrisSolve ThisWorkbook.Worksheets("Sayfa1").Range("A1").CurrentRegion
      Örnek
      ilk array (matris tablo);
      DURUM 1 DURUM 2 DURUM 3
      ÖZELLİK - A 59 20 1
      ÖZELLİK - B 15 47 56
      Sonuç arrayi;
      ÖZELLİK - A DURUM 1 59
      ÖZELLİK - A DURUM 2 20
      ÖZELLİK - A DURUM 3 1
      ÖZELLİK - B DURUM 1 15
      ÖZELLİK - B DURUM 2 47
      ÖZELLİK - B DURUM 3 56

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

      Unpivot yapmışsıniz. Elinize sağlık. Guzel olmuş

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

      @@UzmanExcel Mehmet Bey koda soldan sabit tutulacak sütun opsiyonu güncelledim.
      Class için;
      Public Sub MatrisSolve(ByVal rng As Range, sbtstnsys As Integer)
      Dim arr As New clsArray2D
      Dim solvedmatris As New clsArray2D
      Dim arrmtrs As Variant
      Dim x, y, i, j, q, z As Integer
      arr.AlandanYukle rng, False
      ReDim arrmtrs(1 To (arr.SatirBitis - 1) * (arr.SutunBitis - sbtstnsys), 1 To sbtstnsys + 2)
      For z = 1 To sbtstnsys
      For x = 2 To arr.SatirBitis
      For y = ((arr.SutunBitis - sbtstnsys) * (x - 2)) + 1 To (arr.SutunBitis - sbtstnsys) * (x - 1)
      arrmtrs(y, z) = arr.Value(x, z)
      Next y
      Next x
      Next z
      j = 1
      For q = 2 To arr.SatirBitis
      For i = sbtstnsys + 1 To arr.SutunBitis
      arrmtrs(j, sbtstnsys + 1) = arr.Value(1, i)
      arrmtrs(j, sbtstnsys + 2) = arr.Value(q, i)
      j = j + 1
      Next i
      Next q
      solvedmatris.ArraydenYukle arrmtrs
      Worksheets.Add
      solvedmatris.VeriyiAlanaYazdir ActiveSheet.Range("A1")
      End Sub
      Kullanırken;
      Public Sub Matris()
      Dim sonuc As New clsArray2D
      sonuc.MatrisSolve ThisWorkbook.Worksheets("Sayfa1").Range("A1").CurrentRegion, 2
      End Sub