• DİKKAT

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

Array ile ilgili iki soru.

Katılım
11 Kasım 2004
Mesajlar
80
Soruların daha kolay anlaşılabilmesi için konuya bir örnek ekledim. Örnekteki dosyayı çalıştıran kodu buraya da ekleyeyim. Kod basitçe A sütununda hücre doluysa A, B, C, D sütunundaki verileri DeneAr dizisine aktarıyor daha sonra DeneAr dizisini Sayfa2’ye yazdırıyor.

Kod:
Sub Düğme1_Tıklat()
Dim Rng As Range, Dn As Range
Dim c, i, j, n As Long
Dim DeneAr As Variant
Sheets("Sayfa1").Select
Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
n = Application.CountA(Range("A:A"))
ReDim DeneAr(0 To n, 4)
c = 0
For Each Dn In Rng
If Dn <> "" Then
    c = c + 1
    DeneAr(c, 0) = Dn
    DeneAr(c, 1) = Dn.Offset(, 1)
    DeneAr(c, 2) = Dn.Offset(, 2)
    DeneAr(c, 3) = Dn.Offset(, 3)
End If
Next Dn
Sheets("Sayfa2").Select
Cells.Clear
Range("A1") = "Sıra No": Range("B1") = "Kod No"
Range("C1") = "Malzeme No": Range("D1") = "Sınıfı"
i = 2
For j = 1 To UBound(DeneAr)
    Range("A" & i).Value = DeneAr(j, 0)
    Range("B" & i).Value = DeneAr(j, 1)
    Range("C" & i).Value = DeneAr(j, 2)
    Range("D" & i).Value = DeneAr(j, 3)
    i = i + 1
Next j
End Sub

Sorularım şunlar:

1-DeneAr(j,3) dizi sütununda malzemenin sınıfları kayıtlı. (A, B, C, … Gibi sayısı ve adı değişken ve çok sayıda sınıf var). DeneAr dizisinde her bir sınıfta kaç malzeme olduğunu nasıl bulabiliriz? (Örneğin A sınıfında kaç malzeme var? vs.)

2-Dosyamızda her malzeme grubu için ayrı sayfa var. DeneAr dizisindeki malzemeleri gruplarına göre kendi sayfalarına nasıl yazdırabiliriz? (A sınıflı malzemeler A sayfasına, B sınıflı malzemeler B sayfasına… yazılmalı)

En ufak yardım bile benim için değerli, yanıtlar için şimdiden teşekkürler.
 

Ekli dosyalar

Geri
Üst