Dizi Tanımlama

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,111
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

aşağıdaki kodda sayfa da "E" sütununda belli kriterlere uyan verileri diziye aktarmak istiyordum, başta dizi boyutu belli olmadığı için; Dizi boyutunu tanımlayamadım.

Dizi boyutunun tanımlanması konusunda yardımcı olursanız sevinirim.

Kod:
Sub Dizim()
Dim Veri() As Variant
Dim i As Integer
Dim j As Integer, Sat As Integer
Dim Deger

Sat = [E65536].End(3).Row
 i = 0
For j = 5 To Sat

If Len(Deger) > 0 Then

Deger = Cells(j, 4).Value
Deger = Replace(Deger, ".", "")

If IsNumeric(Deger) Then   
   Veri(i) = Cells(j, 5).Value
   i = i + 1 
End If
End If
Next j
   
End Sub
şimdiden teşekkürler,
iyi akşamlar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,359
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

aşağıdaki gibi yapabilirsiniz.

Kod:
Sub Dizim()
    Dim Veri() As Variant
    Dim i As Integer
    Dim j As Integer, Sat As Integer
    Dim Deger
   
    Sat = [E65536].End(3).Row
    i = 0
    For j = 5 To Sat
        If Len(Deger) > 0 Then
            Deger = Cells(j, 4).Value
            Deger = Replace(Deger, ".", "")
            If IsNumeric(Deger) Then
                ReDim Preserve Veri(i)
                Veri(i) = Cells(j, 5).Value
                i = i + 1
            End If
        End If
    Next j
End Sub
Bir öneri: Değişken adlarını tek bir harf ile değil de anlamlı kelimeler ile tanımlamanız kodları (ileride) okuma konusunda yardımcı olur.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,111
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba.

aşağıdaki gibi yapabilirsiniz.

Kod:
Sub Dizim()
    Dim Veri() As Variant
    Dim i As Integer
    Dim j As Integer, Sat As Integer
    Dim Deger
  
    Sat = [E65536].End(3).Row
    i = 0
    For j = 5 To Sat
        If Len(Deger) > 0 Then
            Deger = Cells(j, 4).Value
            Deger = Replace(Deger, ".", "")
            If IsNumeric(Deger) Then
                ReDim Preserve Veri(i)
                Veri(i) = Cells(j, 5).Value
                i = i + 1
            End If
        End If
    Next j
End Sub
Bir öneri: Değişken adlarını tek bir harf ile değil de anlamlı kelimeler ile tanımlamanız kodları (ileride) okuma konusunda yardımcı olur.
teşekkürler
 
Üst