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
479
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
479
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...
 

sertkan42

Altın Üye
Katılım
27 Kasım 2019
Mesajlar
70
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
16-02-2030
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
Merhaba;
Konuyu tekrar hortlatıyorum Üstad kusura bakmayın, bende bu macroyu bir hücrede buton olarak uygulamak istedim hücredeki kodu silerek veri 0 olarak gösteriyor bu işimizi gördü fakat hücrede yer alan kodu da siliyor.
Sorum şu butona tıklayınca seçili hücre sıfırlansın 2. kez tıkladığımızda kodu geri getirsin yani eski haline gelsin bu mümkün müdür?
 
Üst