• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Degerleri dugme ile hesaplama

  • Konbuyu başlatan Konbuyu başlatan alphae
  • Başlangıç tarihi Başlangıç tarihi
Merhaba.
Alt taraftaki sayfa adına fareyle sağ tıklayın ve KOD GÖRÜNTÜLEyi seçin, karşınıza gelecek VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın.
Sonra sayfadaki düğmeye sağ tıklayıp MAKRO ATAyı seçin ve listeden HESAPLA'yı işaretleyip işlemi onaylayarak tamamlayın.
Kod:
Sub HESAPLA()
For a = 2 To [A65536].End(3).Row
If Cells(a, 1) = "" Or Cells(a, 2) = "" Then GoTo 10
    Cells(a, 4) = Cells(a, 1) + Cells(a, 2)
    Cells(a, 5) = Cells(a, 1) * Cells(a, 2)
    Cells(a, 5) = Cells(a, 1) / Cells(a, 2)
10
Next
End Sub
 
Cok tesekkur ederim. Isime fazlasiyla yaradi.
Bunu biraz daha gelistirmek istiyorum..

Bu toplama cikarma islemi yerine herhangi bir formul atayabilirmiyiz?

Misal bu koda bir "=EGER(..;..;..)" ya da buna benzer bir formul ekleyecek olursak nasil yapmamiz gerekiyor?

Daha acik bir ornek ile;
C2,C3 2 degerde olsun, geri kalan C4,C5,C6.... degerleri de 1 olsun...
Eger C bolumu 2 ise onun yanindaki degerleri toplayip 2 ile carpacak
"=eger(c2=2;(a2+b2)*2;a2+b2)"
 
Asagidaki kodu buldum.. Dugme gerektirmeksizin istenilen formulu asagilara kopyaliyor....
Ihtiyaci olan arkadaslar icin yardimci olmak istedim paylasarak.


Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = Empty Then Exit Sub
If Target.Column = 3 Then
Range("D2").Copy Range("D" & Target.Row)
Range("E2").Copy Range("E" & Target.Row)
Range("F2").Copy Range("F" & Target.Row)
Application.CutCopyMode = False
End If
End Sub
 
Aşağıdaki şekilde yapabilirsiniz.
Formül tırnak içinde, başına = işareti konuarak, malesef İngilizce ve ; yerine , olacak şekilde yazılacak unutmayınız.
Aşağıdaki kod, D2'den başlayıp, A sütununun dolu olduğu satıra kadar D sütununa formül uygulayıp, sonuçlarını DEĞER olarak gösterir.
Kod:
sonsatır=[A65536].End(3).Row
With Range("D2:D" & sonsatır)
.Formula="=formülünüz"
.Value=.Value
End With
Son cevabınızda verdiğiniz kod sayfanın herhangi bir hücresinde değişiklik olduğunda KOPYALAMA yapar,
alan daraltmak için "Hücre değişince makro çalışsın" gibi arama yaparak bulabilirsiniz.
 
Bu kodun basina herhangi bir kod geliyor mu?
End With demissiniz fakat baslangici yok
 
Bu kod'u aşağıdaki gibi hazırlayıp (boş bir Modül'e veya sayfanın kod bölümüne ekleyip)
sayfaya yerleştirilecek bir düğme ile bunu ilişkilendirmek gerekir.
Yukarıdaki kod With ile başlayıp End With ile bitiyor.
Kod:
Sub HESAPLA()
.....yukarıdaki kod bloku.....
End Sub
 
Geri
Üst