• DİKKAT

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

Array değişkenine Bağımsız iki aralığı tanımlamak

  • Konbuyu başlatan Konbuyu başlatan hsayar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
userform activate olayında
C5:I son satır yerine
Kod:
   ason = [c65536].End(3).Row
MyArr = Range("C5:I" & ason)
aralığını değilde

parça parça c5:c son satır ve F5:I son satır aralığını bir diziye nasıl atarız.
Kod:
   ason = [c65536].End(3).Row
MyArr = Range("C5:C" & ason) [COLOR=red]& Range("F5:I" & ason)[/COLOR]
 
MyArr değişkeninin boyutu nedir?

şimdilik c5:c7000 ve f5:I7000 aralığını kapsayacak 2005-2008 gider tablosunu kapsıyor, bu kış 2001 e kadar girişler yapılacak muhtemelen 15-16 bin satır olur.

yani 5 x 16000 şimdilik planlanabilir.
 
5 x Kayıt Sayısı boyutlu bir dizi değişken tanımlayacağınız varsayımıyla;

Aşağıdaki kodları dizi değişkene oluşturmak için kullanabilirsiniz.

NOT : Alternatif olarak, hücrelerin bitişik olmadığı aralıklar için, Union fonksiyonunu kullanabilirsiniz. Union'la birleştirdiğiniz alanın içinde Hücre kolleksiyonunu okuyup dizi değişkenine atayabilirsiniz. Ama, okuma esnasında bitişik ve bitişik olmayan kısımların okunmasında bir düzensizlik mevcuttur ve dikkat edilmesi gerekir. Aşağıdaki önerilen yöntem ise, -varsayıma göre-; aralığın düzgün okunmasına olanak sağlar ...

Kod:
Sub Diziye_DegerAtama()
    Dim vStn As Variant
    Dim myarr() As Variant
    Dim i As Integer
    Dim j As Integer
    Dim iSonSatir As Integer
 
    vStn = Array(3, 6, 7, 8, 9)
 
    iSonSatir = 10 [COLOR=darkgreen]'Bunu siz son satiri bulmak için kullanın[/COLOR]
 
    ReDim myarr(1 To 5, 1 To iSonSatir)
 
    For i = 1 To iSonSatir
        For j = 1 To 5
            myarr(j, i) = Cells(i, vStn(j - 1))
        Next j
    Next i
 
[COLOR=darkgreen]'-- Immediate penceresinden, değerleri gözleyebilirsiniz[/COLOR]
[COLOR=darkgreen]'   Bu bölümü silebilirsiniz.[/COLOR]
    For i = 1 To iSonSatir
        For j = 1 To 5
            Debug.Print myarr(j, i)
        Next j
    Next i
[COLOR=darkgreen]'--------------------------------------------------------[/COLOR]
End Sub
 
ferhat gocam teşekkür ederim.
öğrenmek açısından, Union yöntemine dair bir örnek verebilirmisiniz.
 
Geri
Üst