Excel'de VBA Dizisi Nedir ve Nasıl Programlanır


VBA yıllardır Microsoft Office paketinin bir parçası. Tam bir VB uygulamasının tam işlevselliğine ve gücüne sahip olmasa da, VBA, Office kullanıcılarına Office ürünlerini entegre etme ve bunlarda yaptığınız işi otomatikleştirme esnekliği sağlar.

En güçlü araçlardan biri VBA'da mevcut olan bir dizi veriyi dizi adı verilen tek bir değişkene yükleme yeteneğidir. Verileri bu şekilde yükleyerek, bu veri aralığındaki hesaplamaları çeşitli şekillerde manipüle edebilir veya gerçekleştirebilirsiniz.

VBA dizisi nedir? Bu makalede bu soruyu cevaplayacağız ve kendi VBA betiğiniz.

VBA Dizisi Nedir?

Bir VBA Kullanımı'nı nasıl kullanacağınızı göstereceğiz Excel'deki dizi çok basittir, ancak daha önce hiç kullanmadıysanız diziler kavramını anlamak biraz karmaşık olabilir.

İçinde bölümleri olan bir kutu gibi bir dizi düşünün. Tek boyutlu bir dizi, bir bölüm kesiti olan bir kutudur. İki boyutlu bir dizi iki bölümden oluşan bir kutudur.

<şekil sınıfı = "lazy aligncenter size-large">

Bu “kutunun” her bir bölümüne istediğiniz gibi veri koyabilirsiniz.

In_content_1 tümü: [300x250] / DFP: [640x360]->

VBA komut dosyanızın başında, VBA dizinizi tanımlayarak bu “kutuyu” tanımlamanız gerekir. Bu nedenle, bir veri kümesini (bir boyutlu dizi) tutabilen bir dizi oluşturmak için aşağıdaki satırı yazarsınız.

Dim arrMyArray(1 To 6) As String

Daha sonra programınıza yerleştirebilirsiniz parantez içindeki bölüme başvurarak bu dizinin herhangi bir bölümüne veri ekleyebilirsiniz.

arrMyArray(1) = "Ryan Dube"

Aşağıdaki satırı kullanarak iki boyutlu bir dizi oluşturabilirsiniz.

Dim arrMyArray(1 To 6,1 to 2) As Integer

İlk sayı satırı, ikincisi sütunu temsil eder. Dolayısıyla, yukarıdaki dizi 6 satır ve 2 sütunlu bir aralık tutabilir.

Bu dizinin herhangi bir öğesini aşağıdaki gibi verilerle yükleyebilirsiniz.

arrMyArray(1,2) = 3

B1 hücresine 3 yüklenir.

Bir dizi, dizeler, boole, tamsayılar, kayan öğeler ve daha fazlası gibi normal bir değişken olarak her türlü veriyi tutabilir.

Parantez içindeki sayı da bir değişken olabilir. Programcılar genellikle bir dizinin tüm bölümlerini saymak ve elektronik tablodaki veri hücrelerini diziye yüklemek için bir Döngü İçin kullanırlar. Bunu bu makalede daha sonra nasıl yapacağınızı göreceksiniz.

Excel'de VBA Dizisi Nasıl Programlanır

Bilgi yüklemek isteyebileceğiniz basit bir programa bakalım bir e-tablodan çok boyutlu bir diziye dönüştürün.

Örnek olarak, satış temsilcisinin adını, öğesini ve toplam satışını e-tablodan çekmek istediğiniz bir ürün satış e-tablosuna bakalım.

<şekil sınıfı = "tembel hizalayıcı boyutu büyük">

VBA'da satırlara veya sütunlara başvurduğunuzda, 1'den sol üst köşeden başlayarak satırlar ve sütunlar saydığınızı unutmayın. Dolayısıyla, rep sütunu 3, öğe sütunu 4 ve toplam sütun 7.

Bu üç sütunu 11 satırın tümüne yüklemek için aşağıdaki komut dosyasını yazmanız gerekir.

Dim arrMyArray(1 To 11, 1 To 3) As String
Dim i As Integer, j As Integer
For i = 2 To 12
For j = 1 To 3
arrMyArray(i-1, j) = Cells(i, j).Value
Next j
Next i

Üstbilgi satırını atlamak için ilk görünümdeki satır numarasının 1 yerine 2'den başlaması gerektiğini fark edeceksiniz. Bu, yüklerken dizi satır değeri için 1 çıkarmanız gerektiği anlamına gelir. Hücre değerini Hücreler (i, j) kullanarak diziye yerleştirin. Değer.

VBA Dizi Komut Dosyanızı Nereye Ekleyeceksiniz

Programı bir VBA komut dosyasını Excel'e yerleştirmek için VBA editörü. Buna Geliştiricimenüsünü ve şeridin Kontroller bölümünde Kodu Görüntüle'yi seçerek erişebilirsiniz.

Geliştiriciyi menüde görmüyorsanız, ekleyin. Bunu yapmak için, Excel Seçenekleri penceresini açmak üzere Dosyave Seçenekler'i seçin.

<şekil sınıfı = "tembel hizalayıcı boyutu büyük">

Açılır menüden seçim komutlarını Tüm Komutlarolarak değiştirin. Soldaki menüden Geliştirici'yi seçin ve sağdaki bölmeye taşımak için Ekledüğmesini seçin. Etkinleştirmek için onay kutusunu seçin ve bitirmek için Tamam'ı seçin.

Kod Düzenleyici penceresi açıldığında, verilerinizin bulunduğu sayfanın sol bölmede seçili olduğundan emin olun. Sol açılır menüden Çalışma Sayfası'nı ve sağdaki Etkinleştir' i seçin. Bu, Worksheet_Activate () adlı yeni bir alt yordam oluşturur.

Bu işlev, e-tablo dosyası her açıldığında çalışır. Kodu bu altyordamın içindeki kod bölmesine yapıştırın.

Bu komut dosyası 12 satır boyunca çalışır ve sütun 3'ten, rep sütunu 4'ten öğeye ve sütun 7'den toplam satışı yükler.

<şekil sınıfı =" tembel hizalayıcı boyutu-büyük ">

Her ikisi de Döngüler bittiğinde, iki boyutlu dizi arrMyArray, orijinal sayfada belirttiğiniz tüm verileri içerir.

Excel VBA'da Dizileri Değiştirme

Diyelim ki nihai satış fiyatlarının tümüne% 5 satış vergisi uygulamak istiyorsunuz ve ardından tüm verileri yeni bir sayfaya yazın.

İlk önce bir başka For döngüsü ekleyerek sonuçları yeni bir sayfaya yazma komutuyla yapabilirsiniz.

For k = 2 To 12
Sheets("Sheet2").Cells(k, 1).Value = arrMyArray(k - 1, 1)
Sheets("Sheet2").Cells(k, 2).Value = arrMyArray(k - 1, 2)
Sheets("Sheet2").Cells(k, 3).Value = arrMyArray(k - 1, 3)
Sheets("Sheet2").Cells(k, 4).Value = arrMyArray(k - 1, 3) * 0.05
Next k

Bu, tüm diziyi Sayfa2'ye "boşaltacaktır" ve ek bir satır, vergi tutarı için toplamın% 5 ile çarpılmasını içerir.

sonuçta ortaya çıkan sayfa şöyle görünecektir.

<şekil sınıfı = "tembel hizalayıcı boyutu büyük">

Gördüğünüz gibi, Excel'deki VBA dizileri son derece kullanışlı ve başka herhangi bir Excel hilesi kadar çok yönlü.

Yukarıdaki örnek bir dizi için çok basit bir kullanımdır. Çok daha büyük diziler oluşturabilir ve bunlarda sakladığınız verilere göre sıralama, ortalama alma veya diğer birçok işlevi gerçekleştirebilirsiniz.

Gerçek bir reklam öğesi elde etmek istiyorsanız, bir dizi hücre içeren yazın ve her dizinin öğeleri arasında hesaplamalar yapın.

Uygulamalar yalnızca hayal gücünüzle sınırlıdır.

Excel VBA Ders #011 - Diziler Konusu - Dizi Nedir ? Nasıl Kullanılır ? - Örneklerle

İlgili Mesajlar:


18.01.2020