Aşağıdaki komutlarla Tablolar üzerinde çeşitli manipülasyonlar gerçekleştirebiliyoruz.
Sub Tablolarla_calisma() 'Dikkat: Başlık dahil edilmiyor Debug.Print Range("TabloSatis").Address 'cevap: $A$2:$E$25 Debug.Print Range("TabloSatis[Tutar]").Address 'cevap: $E$2:$E$25 Dim Tablo As ListObject Set Tablo = ActiveSheet.ListObjects("TabloSatis") 'Dikkat: Başlık dahil edildi. Debug.Print Tablo.Range.Address 'cevap: $A$1:$E$25 'Başlık hariç tutuldu. Sadece gövdeyi verdi Debug.Print Tablo.DataBodyRange.Address 'cevap: $A$2:$E$25 'tablodaki satır sayısı Debug.Print Tablo.Range.Rows.Count 'cevap: 25 Debug.Print Tablo.DataBodyRange.Rows.Count 'cevap: 24 'belirli sütunlara başvuru yapma Debug.Print Tablo.ListColumns("Tutar").DataBodyRange.Address 'cevap: $E$2:$E$25 Debug.Print Tablo.ListRows(10).Range.Address 'cevap: $A$11:$E$11 'başlığa başvuru yapma Debug.Print Tablo.HeaderRowRange.Address 'cevap: $A$1:$E$1 'tabloda 5. satıra yeni bir satır ekleme Tablo.ListRows.Add 5 'tablonun en sonuna yeni bir satır ekleme Tablo.ListRows.Add 'tablonun en sonuna yeni bir sütun ekleme Tablo.ListColumns.Add 'tablonun en sonuna eklediğimiz yeni sütunu adlandırma Tablo.ListColumns(Tablo.ListColumns.Count).Name = "Başlık1" 'Eğer B sütunundaki değer 1 ile başlıyorsa tutarı 1,18 ile çarpıyoruz 'Dikkat: Excel 2013 de bu kod sadece ilk hücreye formül giriyor. Excel 365'de tüm sütuna formül giriyor olabilir. Tablo.DataBodyRange(1, Tablo.ListColumns.Count).FormulaR1C1 = "=IF(VALUE(LEFT(RC[-4],1))=1,RC[-1]*1.18,"""")" End Sub