Excel'de VBA Dizisi Nedir ve Nasıl Programlanır?
VBA , uzun yıllardır (VBA)Microsoft Office paketinin bir parçası olmuştur . Tam bir VB uygulamasının tam işlevselliğine ve gücüne sahip olmasa da VBA , Office kullanıcılarına (Office)Office ürünlerini entegre etme ve bunlarda yaptığınız işi otomatikleştirme esnekliği sağlar.
VBA'da(VBA) bulunan en güçlü araçlardan biri, tüm veri aralığını dizi adı verilen tek bir değişkene yükleme yeteneğidir. Verileri bu şekilde yükleyerek, çeşitli şekillerde bu veri aralığındaki hesaplamaları değiştirebilir veya gerçekleştirebilirsiniz.
Peki VBA dizisi nedir? Bu makalede, bu soruyu yanıtlayacağız ve bir tanesini kendi VBA komut dosyanızda(your own VBA script) nasıl kullanacağınızı göstereceğiz .
VBA Dizisi Nedir?
Excel'de(Excel) bir VBA dizisi kullanmak çok basittir, ancak dizi kavramını anlamak, hiç kullanmadıysanız biraz karmaşık olabilir.
(Think)Bir diziyi, içinde bölümleri olan bir kutu gibi düşünün . Tek boyutlu dizi, tek satırlık bölümleri olan bir kutudur. İki boyutlu dizi, iki satır kesitli bir kutudur.
Bu "kutu"nun her bölümüne istediğiniz sırayla veri koyabilirsiniz.
VBA betiğinizin başında, VBA dizinizi tanımlayarak bu "kutuyu" tanımlamanız gerekir . Bu nedenle, bir veri kümesini (tek boyutlu bir dizi) tutabilen bir dizi oluşturmak için aşağıdaki satırı yazarsınız.
Dim arrMyArray(1 To 6) As String
Programınızda daha sonra, parantez içindeki bölüme referans vererek bu dizinin herhangi bir bölümüne veri yerleştirebilirsiniz.
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. Yani yukarıdaki dizi 6 satır ve 2 sütunlu bir aralığı tutabilir.
Bu dizinin herhangi bir öğesini aşağıdaki gibi verilerle yükleyebilirsiniz.
arrMyArray(1,2) = 3
Bu, B1 hücresine bir 3 yükleyecektir.
Bir dizi, dizeler, boole, tamsayılar, kayan noktalar ve daha fazlası gibi herhangi bir veri türünü normal bir değişken olarak tutabilir.
Parantez içindeki sayı da bir değişken olabilir. Programcılar , bir dizinin tüm bölümlerini saymak ve elektronik tablodaki veri hücrelerini diziye yüklemek için genellikle bir For Loop kullanır. (Loop)Bunu nasıl yapacağınızı bu makalenin ilerleyen bölümlerinde göreceksiniz.
Excel'de VBA Dizisi Nasıl Programlanır
Bir elektronik tablodan çok boyutlu bir diziye bilgi yüklemek isteyebileceğiniz basit bir programa bakalım.
Örnek olarak, satış temsilcisinin adını, ürününü ve toplam satışını elektronik tablodan çıkarmak istediğiniz bir ürün satış elektronik tablosuna bakalım.
VBA'da(VBA) satırlara veya sütunlara başvurduğunuzda, sol üstten başlayarak satırları ve sütunları(rows and columns) 1'den saydığınızı unutmayın . Yani rep sütunu 3, öğe sütunu 4 ve toplam sütun 7'dir.
Bu üç sütunu 11 satırın tamamına 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
Başlık satırını atlamak için, ilk For görünümündeki satır numarasının 1 yerine 2'den başlaması gerektiğini fark edeceksiniz. Bu, hücre değerini yüklerken dizi satır değeri için 1 çıkarmanız gerektiği anlamına gelir. Cells (i, j).Value kullanarak diziye .
VBA Dizi Komut Dosyanızı(Your VBA Array Script) Nereye Eklersiniz?
Excel'e(Excel) bir VBA komut dosyası yerleştirmek için VBA düzenleyicisini kullanmanız gerekir . Buna, Geliştirici(Developer) menüsünü seçip şeridin Kontroller(Controls) bölümünde Kodu Görüntüle'yi(View Code) seçerek erişebilirsiniz .
Menüde Geliştiriciyi(Developer) görmüyorsanız, eklemeniz gerekir. Bunu yapmak için Dosya(File) ve Seçenekler'i(Options) seçerek Excel Seçenekleri penceresini açın.
Açılır menüden seçim komutlarını Tüm Komutlar(All Commands) olarak değiştirin . Soldaki menüden Geliştirici'yi seçin ve sağdaki bölmeye taşımak için Ekle düğmesini(Developer) seçin . (Add)Etkinleştirmek için onay kutusunu seçin ve bitirmek için Tamam'ı seçin.(OK)
Code Editor penceresi açıldığında , sol bölmede verilerinizin bulunduğu sayfanın seçili olduğundan emin olun. Soldaki açılır menüden Çalışma Sayfası'nı ve sağda (Worksheet)Etkinleştir'i(Activate) seçin . Bu, Worksheet_Activate(Worksheet_Activate) () adında yeni bir alt program oluşturacaktır .
Bu işlev, elektronik tablo dosyası her açıldığında çalışır. Kodu, bu alt yordamın içindeki komut dosyası bölmesine yapıştırın.
Bu komut dosyası 12 satır boyunca çalışacak ve 3. sütundaki temsilci adını, 4. sütundaki öğeyi ve 7. sütundaki toplam satışı yükleyecektir.
Her iki For döngüsü de bittiğinde, iki boyutlu arrMyArray dizisi, orijinal sayfadan belirttiğiniz tüm verileri içerir.
Excel VBA'da Dizileri Manipüle Etme
Tüm nihai satış fiyatlarına %5 satış vergisi uygulamak istediğinizi ve ardından tüm verileri yeni bir sayfaya yazmak istediğinizi varsayalım.
Bunu, sonuçları yeni bir sayfaya yazma komutuyla ilkinden sonra başka bir For döngüsü ekleyerek 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 , vergi tutarı için %5 ile çarpılan toplamı içeren ek bir satırla birlikte Sayfa2'ye(Sheet2) "kaldırır" .
Ortaya çıkan sayfa böyle görünecek.
Gördüğünüz gibi, Excel'deki (Excel)VBA dizileri son derece kullanışlıdır ve diğer tüm Excel numaraları(any other Excel trick) kadar çok yönlüdür .
Yukarıdaki örnek, bir dizi için çok basit bir kullanımdır. Çok daha büyük diziler oluşturabilir ve içinde depoladığınız verilere karşı sıralama, ortalama alma veya diğer birçok işlevi gerçekleştirebilirsiniz.
Gerçekten yaratıcı olmak istiyorsanız , iki farklı sayfadan bir dizi hücre içeren iki dizi bile oluşturabilir ve her dizinin öğeleri arasında hesaplamalar yapabilirsiniz.(containing a range of cells)
Uygulamalar sadece hayal gücünüzle sınırlıdır.
Related posts
Excel'de Boş Satırları Silme
Excel'in Hücreleri Seslendir Özelliği Nasıl Kullanılır?
Word Belgesine Excel Çalışma Sayfası Nasıl Eklenir
Excel'in Durum Analizi Nasıl Kullanılır?
Excel'de Bir Satır Nasıl Onarılır
Excel'de Pasta Grafiği Nasıl Yapılır?
Esnek Açılır Listeler için Excel'de Dinamik Aralık Adlarını Kullanın
Excel'de Hızlı Dolgu Nasıl Kullanılır
Excel'de Yinelenen Satırları Kaldırma
Google E-Tablolar ve Microsoft Excel – Farklar Nelerdir?
MS Excel İçin Gelişmiş Bir VBA Kılavuzu
Excel'de Nasıl Arama Yapılır
Excel'de Tarihe Göre Sıralama
Excel Elektronik Tablolarında Temel Tek Sütunlu ve Çok Sütunlu Veri Sıralama
Excel'de Birden Çok Satır Nasıl Hızlı Bir Şekilde Eklenir
Excel'de Z-Skoru Nasıl Hesaplanır
Excel'de Neden Adlandırılmış Aralıkları Kullanmalısınız?
Birden Çok Excel Dosyasındaki Veriler Nasıl Birleştirilir
Excel'de Kılavuz Çizgileri Nasıl Kaldırılır
Microsoft Excel Online ve Masaüstü İçin Excel Arasındaki Farklar