Hücrede yazan formülü metin olarak görmek için aşağıdaki KTF kullanılabilir.
Hücrede kullanım şekli;
=FORMULA_TEXT(A1)
Boş bir modüle uygulayınız.
Option Explicit
Function FORMULA_TEXT(Rng As Range) As String
Application.Volatile True
FORMULA_TEXT = Rng.FormulaLocal
End Function
.Formula komutunu kullandığınızda formülü İngilizce yazmalısınız.
Türkçe yazmak istiyorsanız aşağıdaki gibi kullanmalısınız.
ActiveCell.FormulaLocal = "=EĞER(Q3=""GİDEN"",R3,"""")"
Vba tarafında noktalı virgüller virgül olarak yazılmalıdır. Ayrıca tekli olarak yazdığınız çift tırnakları ise...
Ya da,
.Formula kısmını .FormulaLocal olarak değiştirebilirsiniz.
Birisi orijinal dilde yazım için (.Formula İngilizce)
Diğeri de ofis kurulum diliyle yazım için (.FormulaLocal Türkçe)
...yaşayabilirsiniz. Ama yazım şekli kolaydır.
Örnek;
Option Explicit
Sub Hucreye_Formul_Yaz()
With Range("A1:A100")
.FormulaLocal = "=ÇOKETOPLA(KAYIT!$AC:$AC;KAYIT!$AA:$AA;$F7;KAYIT!$AB:$AB;""*""&$D7&""*"")"
'.Value = .Value Rem değere çevirmek için bu satırı aktif hale...
...Dim Son As Long
Son = Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row
With Sheets("Sayfa1").Range("B1:B" & Son)
.FormulaLocal = "=SOLDAN(YERİNEKOY(A2;"" "";""?"";UZUNLUK(A2)-UZUNLUK(YERİNEKOY(A2;"" "";"""")));BUL(""?"";YERİNEKOY(A2;""...
...Dim Son As Long
Son = Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row
With Sheets("Sayfa1").Range("B1:B" & Son)
.FormulaLocal = "=DÜŞEYARA(A1;Sayfa2!A:B;2;0)"
'.Value = .Value 'Bu satırı aktif yaparsanız formüller değere dönüşür. Böylece dosyanız daha hızlı tepki...
...Dim Eski_Dosya_Adi As String
For Each Veri In Selection.Cells
If Veri.HasFormula Then
Formul = Veri.FormulaLocal
Bul_A = InStr(1, Formul, "[")
Bul_B = InStr(1, Formul, "]")
Eski_Dosya_Adi = Replace(Mid(Formul, Bul_A + 1, Bul_B -...
Deneyiniz.
Sub Test()
With Sheets("Sheet1").Range("D2:D23")
.FormulaLocal = "=EĞERHATA(DÜŞEYARA(A2;Sheet2!$A:$B;2;0);"""")"
.Value = .Value
End With
End Sub
ŞABLON sayfanızın kod bölümüne aşağıdaki kodu uygulamanız yeterli olacaktır.
Private Sub Worksheet_Activate()
Range("A3") = ActiveSheet.Name
Range("E3").FormulaLocal = "=EĞER(A3="""";"""";İNDİS(KULÜPLER!C$3:C$55;KAÇINCI(A3;KULÜPLER!B$3:B$55;0);1))"
End Sub
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.