Kendinden referanslı bir formül nasıl kilitlenir?


0

Bunu deniyorum:

C9 formülü: = -40 + C9

İstediğim şey, C9'da formülün üzerine yazmayacak ve o hücrede bir sonuç elde etmeyecek bir değer girebilmektir. Örneğin:

140 değerini C9'da girersem, hücre 100'ü gösterecektir, çünkü formül = -40 + C9

Mümkün mü?

Yanıtlar:


2

Hücre değişikliği için bir makro yazabilirsiniz http://support.microsoft.com/kb/213612 Bu konuyu okumak için faydalı olabilirsiniz: https://stackoverflow.com/questions/409434/automatically-execute-an-excel -Makro-on-a-hücre değişikliği

İşte çalışan örnek (sadece bilgisayarımda denedim)

Private Sub Worksheet_Change(ByVal Target As Range)
    Set KeyCells = Range("A1:C10")
    Set isect = Application.Intersect(KeyCells, Range(Target.Address))
    If Not isect Is Nothing Then
        Application.EnableEvents = False
        isect.Value = isect.Value - 40
        Application.EnableEvents = True
    End If
End Sub

Tamam şimdi şimdi var: Sub Troca_Valor() ' ' Troca_Valor Macro ' Macro recorded 07/04/2013 by Fernando ' ' ActiveCell.FormulaR1C1 = "=RC-40" Range("C10").Select End Sub
FernandoSBS

Soruma cevap olarak fonksiyon kodunu girmek zorunda kaldım, doğru mu?
FernandoSBS


1

Yapmamalısın!

C9 = -40 + C9 yapmak sadece bir özyinelemektir . Bu, eğer hücrenin değerlendirmesine izin verilirse, sonsuza dek -40'ın kendisinden çıkarılmasını sağlamalıdır. Ayrıca, Makro kullanmanızı önermiyorum. Asla değişiklik yapamaz veya önceki değerlere geri dönemezsiniz. Bir hücreyi değiştirmek istiyorsanız, diğer hücrelere etkileneceğini söyleyin.

Benim önerim, bunun için fazladan bir sütun yapmak. Diyelim ki değerini C9'a yaz ve D9'da değerlendir. Sonra, yazdırılamaz hale getirmek için C sütununu gizleyebilir ve gizleyebilirsiniz . Bu yol çok sağlam ve güvenli. Aslında, bu elektronik tabloların nasıl çalışması gerektiğidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.