VBA hücresi ile eklediğim formül otomatik olarak çalışmıyor

Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Merhaba
0 olarak girilen veriler grafikte görünmesin diye =yoksay() formülünü kullanmak istedim.
değerleri userform aracılığı ile hücrelere giriyorum.

formül otomatik olarak devreye girmiyor AD? olarak kalıyor. nasıl otomatik aktifleştiririm?



olması gereken
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İşlemi yaptığınız kod bloğunuzu da paylaşırsanız ne yapmak istenildiği daha iyi anlaşılır. Hatta küçük bir örnek dosya üzerinde yapacağınız tarif çözümü hızlandıracaktır.
 
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Kod:
Private Sub submit1_Click()
Dim ssheet1 As Worksheet
Set ssheet1 = ThisWorkbook.Sheets("Kanlar")

nr = ssheet1.Cells(Rows.count, 1).End(xlUp).Row + 1

ssheet1.Cells(nr, 1) = CDate(Me.DTpick1)
ssheet1.Cells(nr, 2) = CDec(Me.tbWBC)
ssheet1.Cells(nr, 3) = CDec(Me.tbHB)
ssheet1.Cells(nr, 4) = CDec(Me.tbPLT)
ssheet1.Cells(nr, 5) = CDec(Me.tbUREA)
ssheet1.Cells(nr, 6) = CDec(Me.tbKREA)
ssheet1.Cells(nr, 7) = CDec(Me.tbTBIL)
ssheet1.Cells(nr, 8) = CDec(Me.tbDBIL)
ssheet1.Cells(nr, 9) = CDec(Me.tbINR)
ssheet1.Cells(nr, 10) = CDec(Me.tbKALS)
ssheet1.Cells(nr, 11) = CDec(Me.tbALB)
ssheet1.Cells(nr, 12) = CDec(Me.tbNSE)
ssheet1.Cells(nr, 13) = CDec(Me.tbKROGA)
ssheet1.Cells(nr, 14) = CDec(Me.tbCEA)

For nInputRow = 1 To 14
    If ssheet1.Cells(nr, nInputRow) = 0 Then
        ssheet1.Cells(nr, nInputRow) = "=yoksay()"
    End If
Next nInputRow

Application.ScreenUpdating = True
Worksheets("Kanlar").Select

End Sub
kusura bakmayın, kodu ekledim sanıyordum. hastaların getirmeyi unuttuğu kanlara 0 değerini giriyoruz. bu şekilde yaptığımızda grafikte bozulmalar oluyor. bozulmasın diye =na() formülünü önerdiler. kendim #YOK yazdığımda ya da =yoksay() yazıp çalıştırdığımda sorun olmuyor. VBA bu formülü eklerse çalışmıyor, illa ben tekrar hücrenin içine girmem gerekiyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
ssheet1.Cells(nr, nInputRow).FormulaLocal = "=yoksay()"
 
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Elinize sağlık. çalıştı. kaç gündür bunu arıyordum.
 
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Deneyiniz.

Kod:
ssheet1.Cells(nr, nInputRow).FormulaLocal = "=yoksay()"

Merhaba, eski bir konuya mesaj atıyorum farkındayım ama, buradaki formulalocal yerine R1C1 yazsak oraya formulü ingilizce yazabilir miydik?
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba ,

Şu şekilde de yapabilirdiniz.
Kod:
ssheet1.Cells(nr, nInputRow).FormulaR1C1 = "=NA()"
Ama sizin örneğiniz Türkçe yazmak üzerine olduğu için Korhan hocam o şekilde örnek vermiş. Her ikisi de aynı işlemi yapar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
.Formula da aynı sonucu verecektir.
 
Üst