Excel VBA Formülleri - En İyi Kılavuz

Bu eğitim size VBA kullanarak hücre formüllerinin nasıl oluşturulacağını öğretecektir.

VBA'daki formüller

VBA'yı kullanarak formülleri doğrudan Excel'deki Aralıklara veya Hücrelere yazabilirsiniz. Şuna benziyor:

123456789 Alt Formül_Örnek()'Tek bir hücreye sabit kodlanmış formül atamaAralık("b3").Formül = "=b1+b2"'Bir dizi hücreye esnek bir formül atayınAralık("d1:d100").FormulaR1C1 = "=RC2+RC3"Alt Bitiş

Bilmeniz gereken iki Aralık özelliği vardır:

  • .Formül - Kesin bir formül oluşturur (sabit kodlanmış hücre referansları). Tek bir hücreye formül eklemek için iyi.
  • .FormulaR1C1 - Esnek bir formül oluşturur. Hücre başvurularının değişmesi gereken bir hücre aralığına formül eklemek için iyidir.

Basit formüller için .Formula Özelliğini kullanmak uygundur. Ancak, diğer her şey için şunu kullanmanızı öneririz: Makro Kaydedici

Makro Kaydedici ve Hücre Formülleri

Makro Kaydedici, VBA ile hücre formülleri yazmak için başvurduğumuz aracımızdır. Basitçe şunları yapabilirsiniz:

  • Kayda başla
  • Formülü (gerektiğinde göreli / mutlak referanslarla) hücreye yazın ve enter tuşuna basın
  • Kaydetmeyi bırak
  • VBA'yı açın ve formülü gözden geçirin, gerektiği gibi uyarlayın ve gerektiğinde kodu kopyalayın+yapıştırın.

buldum daha kolay VBA'da karşılık gelen formülü yazmaktansa hücreye formül girmek.

Birkaç şeye dikkat edin:

  • Makro Kaydedici her zaman .FormulaR1C1 özelliğini kullanır
  • Makro Kaydedici Mutlak ve Göreli Hücre Referanslarını tanır

VBA FormulaR1C1 Özellik

FormulaR1C1 özelliği, R1C1 stili hücre referansını kullanır (Excel'de görmeye alışkın olduğunuz standart A1 stilinin aksine).

İşte bazı örnekler:

12345678910111213141516171819 Alt FormülR1C1_Örnekler()'Referans D5 (Mutlak)'=$D$5Aralık("a1").FormulaR1C1 = "=R5C4"A1 hücresinden 'Referans D5 (Göreceli)'=D5Aralık("a1").FormulaR1C1 = "=R[4]C[3]"A1 hücresinden 'Referans D5 (Mutlak Satır, Göreli Sütun)'=D$5Aralık("a1").FormulaR1C1 = "=R5C[3]"A1 hücresinden 'Referans D5 (Göreceli Satır, Mutlak Sütun)'=$D5Aralık("a1").FormulaR1C1 = "=R[4]C4"Alt Bitiş

R1C1 stili hücre referansının, mutlak veya göreli referanslar ayarlamanıza izin verdiğine dikkat edin.

Mutlak Referanslar

Standart A1 notasyonunda mutlak bir referans şuna benzer: “=$C$2”. R1C1 notasyonunda şöyle görünür: “=R2C3”.

R1C1 stili türünü kullanarak bir Mutlak hücre referansı oluşturmak için:

  • R + Satır numarası
  • C + Sütun numarası

Örnek: R2C3, $C$2 hücresini temsil eder (C, 3. sütundur).

123 'Referans D5 (Mutlak)'=$D$5Aralık("a1").FormulaR1C1 = "=R5C4"

Göreli Referanslar

Göreli hücre referansları, formül taşındığında "hareket eden" hücre referanslarıdır.

Standart A1 notasyonunda şöyle görünürler: “=C2”. R1C1 notasyonunda, hücre referansını geçerli hücreden dengelemek için köşeli parantez [] kullanırsınız.

Örnek: B3 hücresine “=R[1]C[1]” formülü girildiğinde, D4 ​​hücresine başvuruda bulunulur (formül hücresinin altındaki hücre 1 satırı ve 1 sütunu).

Geçerli hücrenin üstündeki veya solundaki hücrelere başvurmak için negatif sayılar kullanın.

123 A1 hücresinden 'Referans D5 (Göreceli)'=D5Aralık("a1").FormulaR1C1 = "=R[4]C[3]"

Karışık Referanslar

Hücre referansları kısmen göreli ve kısmen mutlak olabilir. Örnek:

123 A1 hücresinden 'Referans D5 (Göreceli Satır, Mutlak Sütun)'=$D5Aralık("a1").FormulaR1C1 = "=R[4]C4"

VBA Formül Özelliği

ile formülleri ayarlarken.Formül Özelliği her zaman A1 stili notasyonu kullanacaksınız. Formülü, tırnak içine alınması dışında, tıpkı bir Excel hücresindeki gibi girersiniz:

12 'Tek bir hücreye sabit kodlanmış bir formül atamaAralık("b3").Formül = "=b1+b2"

VBA Formülü İpuçları

Değişkenli Formül

VBA'da Formüllerle çalışırken, hücre formüllerinde değişkenleri kullanmak çok yaygındır. Değişkenleri kullanmak için, değişkenleri formül dizesinin geri kalanıyla birleştirmek için & kullanırsınız. Örnek:

1234567 Alt Formula_Değişken()Dim colNum As LongsütunNum = 4Range("a1").FormulaR1C1 = "=R1C" & colNum & "+R2C" & colNumAlt Bitiş

Formül Alıntıları

Bir formül içine bir teklif (") eklemeniz gerekiyorsa, teklifi iki kez ("") girin:

123 Alt Makro2()Aralık("B3").FormulaR1C1 = "=METİN(RC[-1],""aa/gg/yyyy"")"Alt Bitiş

Tek bir tırnak (“), VBA'ya bir metin dizisinin sonunu belirtir. Oysa çift tırnak (“”), metin dizesi içindeki bir alıntı gibi değerlendirilir.

Benzer şekilde, bir dizeyi tırnak işaretiyle (") çevrelemek için 3 tırnak işareti ("") kullanın.

12 MsgBox """Bir dizeyi tırnak içine almak için 3 kullanın"""' Bu hemen pencereyi yazdıracak

Dize Değişkenine Hücre Formülü Atama

Formülü belirli bir hücrede veya aralıkta okuyabilir ve onu bir dize değişkenine atayabiliriz:

123 'Değişkene Hücre Formülü AtaDize olarak strFormula DimstrFormula = Aralık("B1").Formül

Hücreye Formül Eklemenin Farklı Yolları

Bir hücreye nasıl formül atanacağına ilişkin birkaç örnek daha:

  1. Doğrudan Formül Ata
  2. Formülü İçeren Bir Dize Değişkeni Tanımlayın
  3. Formül Oluşturmak için Değişkenleri Kullanın
12345678910111213141516171819202122232425 Alt Daha FazlaFormülÖrnek ()TOPLA formülü eklemenin alternatif yolları' B1 hücresine'Dize olarak strFormula DimHücreyi Aralık olarak karartAralık olarak Satırdan, Aralık olarak Satırdan karartHücreyi ayarla = Aralık ("B1")' Doğrudan bir String atamacell.Formula = "=TOPLA(A1:A10)"'Dizeyi bir değişkene kaydetme' ve "Formül" özelliğine atamastrFormula = "=TOPLA(A1:A10)"cell.Formula = strFormula' Bir dize oluşturmak için değişkenleri kullanma' ve onu "Formül" özelliğine atamaitibarenSatır = 1toSatır = 10strFormula = "=SUM(A" & fromValue & ":A" & toValue & ")cell.Formula = strFormulaAlt Bitiş

Formülleri Yenile

Hatırlatma olarak, formülleri yenilemek için Hesapla komutunu kullanabilirsiniz:

1 Hesaplamak

Tek bir formülü, aralığı veya tüm çalışma sayfasını yenilemek için bunun yerine .Calculate öğesini kullanın:

1 Sayfalar("Sayfa1").Range("a1:a10").Hesapla

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave