Soru Hücreyi pasif hale getirme...

Katılım
1 Aralık 2013
Mesajlar
41
Excel Vers. ve Dili
2007
Merhaba arkadaşlar. Resimde görüldüğü üzere sorum şu: İçinde değer bulunan bir hücreyi pasif hale getirerek, formüllerin o hücreyi boş kabul edip hesaba katmamasını nasıl sağlarım? Bunun formülsüz, pratik bir komutu var mı Excel'de. Şimdiden teşekkürler.
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Bildiğim kadarıyla hücre bazında bu tip bir ayar yok. Fakat Makro ile aşağıdaki gibi bir çözüm uygulayabiliriz. Şöyle çalışıyor;

Seçtiğiniz hücre rengini kırmızı yaptıktan sonra makroyu butona yada kısayola bağlayıp çalıştırıyorsunuz. Makro, hücrenin değerini 0 (Sıfır) yaparken, hücre biçimlendirmesini değiştirerek, varmış gibi gösteriyor. Hücre değerine tekrar ihtiyacınız olduğunda hücreyi Sarı renge boyayıp makroyu tekrar çalıştırdığınızda da hücrenin biçimlendirmesi gidiyor ve hücre değeri geri geliyor.

248209

Kod:
Sub DD()
If ActiveCell.Interior.Color = 255 Then
    ActiveCell.NumberFormat = ActiveCell.Value
    ActiveCell.Value = "0"
ElseIf ActiveCell.Interior.Color = 65535 Then
    ActiveCell.Value = ActiveCell.NumberFormat
    ActiveCell.NumberFormat = "0.00"
    ActiveCell.Interior.ColorIndex = xlNone
End If
End Sub
 
Katılım
1 Aralık 2013
Mesajlar
41
Excel Vers. ve Dili
2007
Merhaba,

Bildiğim kadarıyla hücre bazında bu tip bir ayar yok. Fakat Makro ile aşağıdaki gibi bir çözüm uygulayabiliriz. Şöyle çalışıyor;

Seçtiğiniz hücre rengini kırmızı yaptıktan sonra makroyu butona yada kısayola bağlayıp çalıştırıyorsunuz. Makro, hücrenin değerini 0 (Sıfır) yaparken, hücre biçimlendirmesini değiştirerek, varmış gibi gösteriyor. Hücre değerine tekrar ihtiyacınız olduğunda hücreyi Sarı renge boyayıp makroyu tekrar çalıştırdığınızda da hücrenin biçimlendirmesi gidiyor ve hücre değeri geri geliyor.

Ekli dosyayı görüntüle 248209

Kod:
Sub DD()
If ActiveCell.Interior.Color = 255 Then
    ActiveCell.NumberFormat = ActiveCell.Value
    ActiveCell.Value = "0"
ElseIf ActiveCell.Interior.Color = 65535 Then
    ActiveCell.Value = ActiveCell.NumberFormat
    ActiveCell.NumberFormat = "0.00"
    ActiveCell.Interior.ColorIndex = xlNone
End If
End Sub
Hocam bu makro çalışıyor evet. Teşekkür ederim. Peki hücrelerimizin renk biçimlendirmesi var, o yüzden sarı-kırmızı ile bozmak istemiyoruz. Bu makroyu "sadece seçili hücrelerde" çalıştırsak nasıl değiştirmemiz gerekecek sizce?
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Aşağıdaki gibi dener misiniz? Ayrıca sadece seçili hücrede çalışacaktır. Aralık seçerseniz sonuç alamazsınız.

Kod:
Sub DD()
If ActiveCell.Value = 0 Then
    ActiveCell.Value = ActiveCell.NumberFormat
    ActiveCell.NumberFormat = "0.00"
Else
    ActiveCell.NumberFormat = ActiveCell.Value
    ActiveCell.Value = 0
End If
End Sub
 
Katılım
1 Aralık 2013
Mesajlar
41
Excel Vers. ve Dili
2007
Evet hocam bu da çok güzel çalıştı emeğinize sağlık. "Aralık seçerseniz sonuç alamazsınız" demenizden, bunu birden fazla hücre seçerek yapmanın bir yolu yok diye anladım :) Umarım vardır...
 
Üst