Aralıktan Tablo Oluşturmak için Excel VBA (6 Örnek)

  • Bunu Paylaş
Hugh West

Birlikte çalışırken Microsoft Excel Ve bu veri aralıklarını bir tabloya dönüştürmek en iyi seçeneklerden biridir. Excel tabloları, verileri hızla sıralamamıza ve filtrelememize, yeni kayıtlar eklememize ve grafikleri ve PivotTable'ları anında güncellememize olanak tanır. Excel VBA kullanıcının sadece bazı basit kodlarla uygulamayı özelleştirmesine yardımcı olur. Bu makalede, bazı örnekler göreceğiz Excel VBA aralıktan bir tablo oluşturmak için.

Alıştırma Çalışma Kitabını İndirin

Çalışma kitabını indirebilir ve onlarla pratik yapabilirsiniz.

Range.xlsm'den Tablo Oluştur

6 Aralıktan Tablo Oluşturmak için Excel VBA Örnekleri

Tablolar Excel'in menü sürümünde listeler olarak başladı, ancak bunlar şerit varyantlarında işlevsellik açısından büyüdü. Bir veri aralığını tabloya dönüştürmek, daha hızlı ve kolay çalışmanıza olanak tanıyarak kapasiteyi genişletir. aralığı bir tabloya dönüştürün kullanarak VBA şeridi kullanmaktan daha kolay bir yoldur.

Diyelim ki, sütununda bazı öğeler içeren basit bir veri kümemiz var B sütunundaki bu kalemlerin miktarı C ve sütundaki her bir kalem için toplam satış D Şimdi, veri aralığını bir tabloya dönüştürmek istiyoruz. Aralıktan bir tablo oluşturmak için farklı örnekler ve adım adım talimatlar gösterelim B4:D9 Excel VBA ile.

Kullanım ListObjects.Add Bir aralığı Excel tablosuna dönüştürmek için Spreadsheet nesnesinin bir özelliği vardır ListObjects . ListObjects adı verilen bir tekniği vardır. Ekle . için kriterler Ekle aşağıdaki gibidir.

expression .Add(SourceType, Source, LinkSource, HasHeaders,Destination)

Ve SourceType'ı kullanın xlSrcRange .

1. Aralıktan Tablo Oluşturmak için Excel VBA

ile Excel VBA 'yi kullanmak için, kullanıcılar şeritten excel menüleri gibi davranan kodu kolayca kullanabilirler. VBA kodunu kullanarak aralıktan bir tablo oluşturmak için prosedürü takip edelim.

ADIMLAR:

  • İlk olarak, şu adrese gidin Geliştirici şeridinden sekmesini seçin.
  • İkinci olarak Kod kategorisinde, üzerine tıklayın Visual Basic açmak için Visual Basic Düzenleyicisi . veya basın Alt + F11 açmak için Visual Basic Düzenleyicisi .
  • Bunu yapmak yerine, çalışma sayfanıza sağ tıklayıp Kodu Görüntüle Bu da sizi şu adrese götürecektir Visual Basic Düzenleyicisi .

  • Bu, şu adreste görünecektir Visual Basic Düzenleyicisi aralıktan bir tablo oluşturmak için kodlarımızı yazdığımız yer.
  • Üçüncü olarak Modül bir şey yok. Ekleme açılır menü çubuğu.

  • Bu, bir Modül çalışma kitabınızda.
  • Ve, kopyalayıp yapıştırın VBA kodu aşağıda gösterilmiştir.

VBA Kodu:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Bundan sonra, kodu çalıştırmak için RubSub düğmesine veya klavye kısayoluna basarak F5 .

Kodu değiştirmenize gerek yoktur. Yapabileceğiniz tek şey aralığı gereksinimlerinize göre değiştirmektir.

  • Ve son olarak, aşağıdaki adımlar aralıktan bir tablo oluşturacaktır B4:D9 .

VBA Kod Açıklaması

 Sub Create_Table() 

Alt koddaki işi halletmek için kullanılan ancak herhangi bir değer döndürmeyen bir kod parçasıdır. Alt prosedür olarak da bilinir. Bu yüzden prosedürümüzü şöyle adlandırıyoruz Create_Table() .

 Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" 

Bu, aralığın bir tabloya dönüştürüldüğü ana kod satırıdır. Zaten bildiğimiz gibi ListObjects.Add Bir aralığı Excel tablosuna dönüştürmek için xlSrcRange Ayrıca aralığımızı bir kaynak türü olarak Aralık("B4:D9") . Ve son olarak, tablomuzu şu şekilde adlandırın Tablo1 .

 End Sub 

Bu işlem prosedürü sonlandıracaktır.

Daha fazlasını okuyun: Pivot Tablo Aralığı Nasıl Güncellenir (5 Uygun Yöntem)

2. Excel VBA Kullanarak Aralıktan Tablo Oluşturma

Excel VBA kullanarak aralıktan bir tablo oluşturmak için başka bir örnek görelim.

ADIMLAR:

  • İlk olarak, şu adrese gidin Geliştirmek şeridinden r sekmesini seçin.
  • İkinci olarak Visual Basic açmak için Visual Basic Düzenleyicisi .
  • Açmanın başka bir yolu Visual Basic Düzenleyicisi sadece basmaktır Alt + F11 .
  • Veya sayfaya sağ tıklayın, ardından Kodu Görüntüle .
  • Sonra, şu adrese gidin Ekleme ve seçin Modül açılır menüsünden seçin.
  • Bu da visual basic penceresini açacaktır.
  • Bundan sonra, kopyalayıp yapıştırın VBA kodu aşağıda.

VBA Kodu:

 Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub 
  • Ayrıca, şu düğmeye basın F5 tuşu ya da Alt Çalıştır düğmesine basarak kodu çalıştırın.

  • Ve aşağıda gösterildiği gibi bir sonuç elde edeceksiniz Yöntem 1 .

VBA Kod Açıklaması

 Dim tb2 As Aralık Dim wsht As Çalışma Sayfası 

Bu DIM içinde ifade VBA " anlamına gelir beyan et, " ve bir değişken bildirmek için kullanılmalıdır. Bu yüzden, aralığımızı tb2 ve çalışma sayfasını ws .

 Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet 

VBA Set basitçe, kodu çalıştırırken seçmemiz gereken aralığı tekrar tekrar yazmak zorunda kalmamamızı sağlar. Böylece, aralığımızı geçerli bölgeye ve çalışma sayfamızı etkin çalışma sayfasına ayarlarız.

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" 

Bu kod satırı ile aralıktan tablo oluşturuyoruz ve tablomuzu adlandırıyoruz Tablo2 .

Daha fazlasını okuyun: Excel Tablosu VBA ile Nasıl Kullanılır (9 Olası Yol)

3. Excel'de VBA ile Aralıktan Tablo Oluşturma

Bir aralıktan tablo oluşturmak için Excel VBA'yı kullanmanın başka bir örneğine bakalım.

ADIMLAR:

  • Başlamak için, tabloya dönüştürmek istediğiniz aralığın tamamını seçin.
  • İkinci olarak Geliştirici sekmesine tıklayın.
  • Üçüncü olarak Visual Basic Düzenleyicisi üzerine tıklayarak Visual Basic .
  • Alternatif olarak, şu adrese de erişebilirsiniz Visual Basic Düzenleyicisi tuşuna basarak Alt + F11 .
  • Ya da, sağ tıklayın sayfasına gidin ve Kodu Görüntüle menüden.
  • Sonra, seçin Modül altındaki açılır kutudan Ekleme .
  • Ve visual basic penceresi görünecektir.
  • Kodu oraya yazın.

VBA Kodu:

 Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub 
  • Son olarak, tuşuna basın. F5 tuşu kodu çalıştırmak için.

  • Ve bu, aldığımız veri aralığından bir tablo oluşturacaktır Yöntem 1 .

Daha fazlasını okuyun: Excel'de Tablo Nasıl Yapılır (Özelleştirme ile)

Benzer Okumalar

  • Pivot Tabloda Hesaplanan Alan Toplamının Sayıya Bölünmesi
  • Excel'de Göreceli Frekans Dağılımı Nasıl Gösterilir
  • Excel Pivot Tablo Haftaya Göre Gruplama (3 Uygun Örnek)
  • [Düzeltme] Pivot Tabloda Tarihler Gruplanamıyor: 4 Olası Çözüm
  • Excel'de Amortisman Tablosu Nasıl Yapılır (4 Yöntem)

4. Aralıktan Dinamik Tablo Oluşturmak için VBA Uygulayın

Excel VBA kullanarak bir aralıktan tablo oluşturmanın başka bir yoluna göz atalım.

ADIMLAR:

  • Başlamak için şeridi açın ve Geliştirici seçenek.
  • Ardından, erişim için Visual Basic Düzenleyicisi üzerine tıklayın Visual Basic .
  • Basmak Alt + F11 aynı zamanda Visual Basic Düzenleyicisi .
  • Alternatif olarak, sağ tıklayın sayfasını seçin ve Kodu Görüntüle görüntülenen menüden.
  • Şimdi Ekleme aşağı açılır seçeneğini seçin Modül .
  • Ardından kopyalayıp yapıştırın VBA aşağıdaki kod.

VBA Kodu:

 Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With EndAlt 
  • tuşuna basarak kodu çalıştırın. F5 Anahtar.

  • 'da gösterildiği gibi Yöntem 1 'in örneğinde olduğu gibi, masa aralıktan oluşturulacaktır.

VBA Kod Açıklaması

 Sub Create_Dynamic_Table1() 

Bu satır alt prosedürün adını gösterir.

 Dim tbOb As ListObject Dim TblRng As Range 

Bu iki satır değişken bildirimi için kullanılır.

 Sayfalar("Örnek4") ile 

Bu Açıklama ile nesnenin adını yeniden nitelendirmek zorunda kalmadan tek bir nesne üzerinde bir dizi ifade yapmanıza olanak tanır. ile Açıklama sayfa adı ile birlikte.

 lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

Bunlar sırasıyla son satırı ve son sütunu bulmak içindir.

 Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

Tabloyu oluşturmak için aralık.

 Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

Yukarıda belirtilen aralıkta bir tablo oluşturun.

 tbOb.Name = "DynamicTable1" 

Tablo adının belirtilmesi

 tbOb.TableStyle = "TableStyleMedium14" 

Tablo stilini belirtin.

Daha fazlasını okuyun: Excel'de Kısayol Kullanarak Tablo Oluşturma (8 Yöntem)

5. Aralıktan Dinamik Tablo Oluşturun

Şimdi, bir aralıktan tablo oluşturmak için başka bir Excel VBA yöntemine göz atın.

ADIMLAR:

  • Başlamak için şeridi açın ve Geliştirici açılır menüsünden seçin.
  • Ardından şunları seçin Visual Basic açmak için Visual Basic Düzenleyicisi .
  • Bu Visual Basic Düzenleyicisi tuşuna basarak da erişilebilir. Alt + F11 .
  • Alternatif olarak, şunları yapabilirsiniz sağ tıklayın sayfasını seçin ve Kodu Görüntüle açılır menüden.
  • Bundan sonra, şunları seçin Modül bir şey yok. Ekleme açılır menüsü.
  • Ardından aşağıdaki VBA kodunu kopyalayıp yapıştırın.

VBA Kodu:

 Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End Sub 
  • Son olarak, kodu şu tuşa basarak çalıştırın F5 klavyenizde ve sonucu çalışma sayfanızda görürsünüz.

  • Ve, gösterildiği gibi Yöntem 1 'in örneğinde olduğu gibi, tablo aralıktan oluşturulacaktır.

Daha fazlasını okuyun: Excel Tabloları Nasıl İyi Görünür (8 Etkili İpucu)

6. Dinamik Tablo Oluşturmak için Excel VBA Kullanın

Bir aralıktan tablo oluşturmanın başka bir Excel VBA yolunu keşfedelim.

ADIMLAR:

  • Başlangıçta, şu adrese gidin Geliştirici tab> Visual Basic > Ekleme > Modül .
  • Ya da, sağ tıklama Çalışma sayfasında bir pencere açılacaktır. Kodu Görüntüle .
  • Ve bu sizi şu adrese götürecek Visual Basic Düzenleyicisi VBA Makroları yazabileceğimiz alan.
  • Öte yandan, basmak Alt + F11 aynı zamanda Visual Basic Düzenleyicisi .
  • Bundan sonra, şunu yazın VBA Kod.

VBA Kodu:

 Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub 
  • tuşuna basarak sonucu görmek için kodu çalıştırın. F5 tuşu .

  • Ve tablo, aşağıdaki resimde gösterildiği gibi aralıktan oluşturulacaktır Yöntem 1 .

Daha fazlasını okuyun: Excel'de Verilerle Tablo Oluşturma (5 Yol)

Sonuç

Yukarıdaki yöntemler Excel'de aralıktan bir tablo oluşturmanıza yardımcı olacaktır. Umarım bu size yardımcı olur! Herhangi bir sorunuz, öneriniz veya geri bildiriminiz varsa lütfen yorum bölümünde bize bildirin. Veya aşağıdaki diğer makalelerimize göz atabilirsiniz ExcelWIKI.com Blog!

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.