İki değer arası veriye göre VBA ile otomatik hesaplama

ByBaklan

Dijital Dönüşüm, Teknoloji Danışmanlık
Altın Üye
Katılım
17 Eylül 2014
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit
Altın Üyelik Bitiş Tarihi
01-03-2028
Merhaba, aylık bir girdi tablosu hazırlama istedim. Basit şeyleri yaptım. Bazı şeyleri otomatik yapmak istedim. Fakat yapamadım.
Ustalardan destek rica ediyorum. Tabloyu ayrıca ekledim.
Destekler için şimdiden teşekkür ediyorum.

243442
 

Ekli dosyalar

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,792
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
K6 hücresi 1100 K12 hücresi 800 neden?
iyi çalışmalar
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.Unprotect 123
    Application.EnableEvents = False
    If Not Intersect(Target, Range("D:D")) Is Nothing Then
        Select Case Target.Text
            Case "Kapasite Artırımı", "Parça Değişimi"
                If Cells(Target.Row, "E") < 2000 Then
                    Cells(Target.Row, "K") = 500
                ElseIf Cells(Target.Row, "E") >= 2000 Then
                    Cells(Target.Row, "K") = 700
                End If
                If Cells(Target.Row, "E") > 5000 Then
                     Cells(Target.Row, "K") = Cells(Target.Row, "K") + Int((Cells(Target.Row, "E") - 5000) / 2000) * 300
                End If
            Case "İlaçlı Temizlik ve Bakım"
                Cells(Target.Row, "K") = 1000
            Case "Parça Değişimi"
            
            Case "Parça Tamiri"
            
        End Select
    ElseIf Not Intersect(Target, Range("F:F")) Is Nothing Then
        If Target = "E" Then
            Cells(Target.Row, "G") = 500
        ElseIf Target = "H" Then
            Cells(Target.Row, "G") = ""
        End If
    End If
    Application.EnableEvents = True
    ActiveSheet.Protect 123
End Sub
Otomatik değiştirilen sütunları kilitlemek için.
-Tüm hücreleri seçip sağ tıklatın / Hücreleri Biçimlendir. / Koruma tabını açıp, kilitli yanındaki onay işaretini kaldırıp Tamam tıklatın.
-Kilitlenmesini istediğiniz otomatik değiştirilen sütunları seçin sağ tıklatın / Hücreleri Biçimlendir. / Koruma tabını açıp, kilitli yanındaki onay işaretini işaretleyip Tamam tıklatın.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,792
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
Hazırladığım dosya alternatif olsun.
Sizin dosyanızdaki ifadelerle hazırladığınız örnek çelişkili. Dosyanızı bozmadan HspTbls isimli sayfa oluşturdum, G.Harcırah bedelleri sabit kişiler için belli ise H sütununu da makro doldurabilir. Bu durumda size A, B, C, D, E, F ve I sütunlarını doldurmak kalır.
Sayfa şifresi 123
iyi çalışmalar
 

Ekli dosyalar

ByBaklan

Dijital Dönüşüm, Teknoloji Danışmanlık
Altın Üye
Katılım
17 Eylül 2014
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit
Altın Üyelik Bitiş Tarihi
01-03-2028
Tevfik_Kursun ve Muzaffer Ali Bey'ler emekleriniz için çok teşekkürler.
Araya çok başka şeyler girince bakamadım bile. Çok geç geri dönebildim.
Benim yokluğumda şirkette farklı çözüm üretmişler. Kullanamadık ama yine de işe başlayınca ben üzerinde çalışacağım. Tıkandığım yerde yine desteğinizi rica edebilirim.
Tekrar teşekkür ederim.
Hayırlı çalışmalar.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,792
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Rica ederim arkadaşım, her zaman destek atarız.
İyi çalışmalar
 
Üst