• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü ParamArray yerine hangi array tanımalanabilir

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

mana97

Yeni Üye
Katılım
18 Ağu 2022
Mesajlar
279
Çözümler
31
Aldığı beğeni
103
Excel V
Office 2019 TR
Konu Sahibi
Merhaba

ParamArray ile ilgili fazla türkçe kaynak olmadığı için bilgiye ulaşamadım. ParamArray yı Range olarak türünü tanımlamak istiyorum ancak hata veriyor sadece Variant olabiliyor. Range olarak tanımlayabilmek için başka br array var mı

Function Secim(ParamArray Sec() As Range)

End Function

1698659532459.png
 
Çözüm
Sizin istediğiniz sanırım tam olarak bu.

HTML:
C++:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Kullanım yukardaki gibi
Koda son satır bulma parametre ekledim ağır çalışmaması için.
Gifte gösterdim zor değil kendinizde geliştirebilirsiniz.
Döngüsüz böyle daha iyi oldu :)

Alttakine dikkat etmek gerekiyor örnek olarak.
" & aranan2.Value2 & " soldaki sayı ve tarih için sağdaki metinler için tabii sayısal olarak denemedim alanda. """ & aranan2.Value2 & """


5.gif


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Konu Sahibi
Konu kapatılabilir. Türünü belirtmeyince Range olarak kullanılabiliyor. Kusura bakmayın hayırlı günler dilerim.
 
Merhaba.
Alttaki videoyu izleyin anlarsınız,Türkçe olmasına gerek yok.
Dikkat edilecek tek şey bildiğim variant olacak ve parametrenin en sağında olacak eğer birden fazla değişken olacaksa parametre içinde.
Videoda adam her türlü anlatmış adım adımda.
Range dende bence daha kullanışlı.

 
Konu Sahibi
Merhaba.
Alttaki videoyu izleyin anlarsınız,Türkçe olmasına gerek yok.
Dikkat edilecek tek şey bildiğim variant olacak ve parametrenin en sağında olacak eğer birden fazla değişken olacaksa parametre içinde.
Videoda adam hertürlü anlatmış adım adımda.
Rangedende bence daha kullanışlı.

Teşekkür ederim hocam videoya bakıcam alternatif bir düşeyara yapıyordum seçilen hücre sayısına göre kolaylık olsun diye yapmış olduğum kurguda Range gerek duymuştum array in türünü belirtmeyince çalıştı sorunum düzeldi.

=Secim(F2;A:E)

veya

=Secim(F2;A:A;E:E)

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Teşekkür ederim hocam videoya bakıcam alternatif bir düşeyara yapıyordum seçilen hücre sayısına göre kolaylık olsun diye yapmış olduğum kurguda Range gerek duymuştum array in türünü belirtmeyince çalıştı sorunum düzeldi.

=Secim(F2;A:E)

veya

=Secim(F2;A:A;E:E)

Function Secim(ParamArray Sec())

Secim = WorksheetFunction.VLookup(Sec(0), Sec(1), Sec(1).Columns.Count, 0)
On Error Resume Next
Secim = WorksheetFunction.Index(Sec(2), WorksheetFunction.Match(Sec(0), Sec(1), 0))

End Function
Rica ederimSanıyorun başka konunuzda sormuştunuz ve paramarray ile yanılmıyorsam ben yazmıştım bir kod ama döngülüydü galiba :) sizdeki kod daha pratik olmuş.
 
Dünde dizi ve range ve match ve findnext kodlarını 100bin satırda karşılaştırdım hep dizi galip geldi :)
 
Konu Sahibi
Rica ederimSanıyorun başka konunuzda sormuştunuz ve paramarray ile yanılmıyorsam ben yazmıştım bir kod :)
aynen hocam toparlamaya çalışıyorum orda çoklu düşeyara sormuştum şimdi bunu ayarlayabildim sizin koduda bunun devamına eklemeye çalışıyorum tek KTF de isteğe göre değişkenlik gösterecek alternatif bir düşeyara oluşturmak :) hedef bu ama yoldayız işte henüz hedefe varamadım :)
 
Konu Sahibi
bunun devamına sizin kodları şöyle eklemeyi düşünüyorum (en azından hayal ettiğim kadarıyla) Örnek olarak 3 kritere göre Sayfa2 de 3 tane hücrenin Sayfa1 de eşleştirip karşılığından Sayfa1 deki F değerini getirmek

Siz bunu yaptınız zaten önceki sorduğum soruda bende farklı farklı eklemeye geliştirmeye çalışıyorum :)

=Secim(3;A2;D2;E2;Sayfa1!A:A;Sayfa1!D:D:Sayfa1!E:E;Sayfa1!F:F)
 
Teşekkür ederim hocam videoya bakıcam alternatif bir düşeyara yapıyordum seçilen hücre sayısına göre kolaylık olsun diye yapmış olduğum kurguda Range gerek duymuştum array in türünü belirtmeyince çalıştı sorunum düzeldi.

=Secim(F2;A:E)

veya

=Secim(F2;A:A;E:E)

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Yukardaki kodunuzu alttaki gibi kullanmanız gerek bence resimdeki gibi olacaksa.
Akşam dediğiniz çoklu kriter olarakta uğraşayım bende merak ettim.
Birde döngü olmadığına göre range de olabilir dediğiniz gibi.
Alttaki kod daha düzenlenebilinir esasen.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.

1.png
 
Sizin istediğiniz sanırım tam olarak bu.

HTML:
C++:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Kullanım yukardaki gibi
Koda son satır bulma parametre ekledim ağır çalışmaması için.
Gifte gösterdim zor değil kendinizde geliştirebilirsiniz.
Döngüsüz böyle daha iyi oldu :)

Alttakine dikkat etmek gerekiyor örnek olarak.
" & aranan2.Value2 & " soldaki sayı ve tarih için sağdaki metinler için tabii sayısal olarak denemedim alanda. """ & aranan2.Value2 & """


5.gif


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Çözüm
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst