sayfadaki formülleri makro (buton ile) çalıştırma

Katılım
18 Ekim 2012
Mesajlar
323
Excel Vers. ve Dili
2003 tr
arkadaşlar öncelikle kolay gelsin.sitemizi inceledim ancak tam istediğimi bulamadım.istediğim ayrı ayrı iki konu var.
1- sayfada A sütunundan BX sütutuna kadar veri girdiğim bir sayfa var ve bu sayfanı değişik sütunlarında 1000 satırlık formüller var.bu formüller eğerle başlayan veya sütunları birbirinden çıkaran veya toplayan formüller var.istediğim bu sayfadaki formüllerein başına birşey geldiği zaman (koruma var ancak bazen başkaları kullanırmen silebiliyor) butona bastığımda buton bastığımda girilen değerler değişmeden sayfadaki formüllerin tekrar getirilmesi

2- bu sayfaya bağlı olarak başka birkaç sayfada icmal kullanıyorum.mesala b sütunundaki 15 ten büyük sayıları topla veya girilen değerleri say veya bibirine onayla .bu formüller bilindiği üzere excel kitabını aşırı miktarda kasıyor.bu hesaplamaları ayda veya 2 ayda bir veya istenildiğinde aldığımdan her an işime yaramıyor.bir buton yardımı ile bu sayfadaki formüllerin çalışmasını isteğe bağlamak mümkünmü.

Biraz fazla şey istemedim galiba,inşallah konu ile ilgili bilgisi olan vardır.yardımcı olursanız sevinirim.
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
1- aslında yaptığın yöntem doğru, sayfa koruması ile koruyabilirsin. formülün görünmesini istemediğin hücrelerin koruma özelliğini, kilitli ve gizli olarak işaretle. sayfa koruması ekle dediğinde ilk 2 seçeneği işaretle.

2- otomatik hesaplamayı kapatmak için Excel Seçenekleri --> Formüller --> hesaplama seçenekleri kısmında çalışma kitabı hesaplamasını El ile olacak sekilde ayarlayıp, hesaplama yapmak istediğinizde F9 tuşu ile veya Formüller --> şimdi hesapla düğmesi ile hesaplayabilirsiniz.
 
Katılım
18 Ekim 2012
Mesajlar
323
Excel Vers. ve Dili
2003 tr
syn systran istediğim bu değildi ancak yinede düşünüp yardımcı olmaya çalıştığınız için teşekkürler.benim istediğim buton ile formülleri geri getirmek ve çalışmasını butonla yapmak ama yinede emeğinize sağlık kolay gelsin
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
valla sizin yazdıklarınıza göre benim aklıma gelenler bunlar.

1. "koruma var ancak bazen başkaları kullanırken silebiliyor" bunun cevabı aynen bahsettiğim gibi yaparsan formüller düzgün çalışır, sayfa korumalı olduğu içinde silinemezler. kimse formüllere dokunamaz.

2. sorunun cevabı da hesaplamayı manuel moda almaktır.

ayrıntılı bir şekilde anlatırsanız yardımcı olmaya çalışayım.
 

Soundcraft

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
33
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
05-08-2026
Konu üzerinden epey bir vakit geçmiş ancak benimde benzer bir dosyada sorunum var.

Otomatik hesaplamayı kapattım ve bir butona makro atayarak buton yardımı ile yada F9 ile hesaplama yaptırıyorum. Sorun çözülüyor.
Kod:
Sub Hesapla()

    Application.MaxChange = 0.001
    ActiveWorkbook.PrecisionAsDisplayed = False
    Calculate

End Sub
Ancak hesaplamayı kapattığım için aynı anda açtığım diğer excel dosyalarında da hesaplama kapanıyor.

Sadece mevcut çalışma kitabında kapatmak için çözüm arıyorum. Aynı anda 4-5 excel dosyası sürekli açık oluyor gün boyu. Kapalı olduğunda diğerlerinde sıkıntı yaşıyorum bu defa.

Otomatik hesaplamayı sadece formül içeriği fazla olan dosyada kapatma yapma şansımız varmı acaba?

Diğer dosyalar yine otomatik hesaplamaya devam edecek şekilde.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Hesaplamayı elle yapmak istediğiniz dosyanın ThisWorkbook kod bölümüne aşağıdaki satırları kopyalayınız.
Kod:
Private Sub Workbook_Activate()
Application.Calculation = xlCalculationManual
End Sub

Private Sub Workbook_Deactivate()
Application.Calculation = xlCalculationAutomatic
End Sub
 

Soundcraft

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
33
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
05-08-2026
Merhaba,
Hesaplamayı elle yapmak istediğiniz dosyanın ThisWorkbook kod bölümüne aşağıdaki satırları kopyalayınız.
Kod:
Private Sub Workbook_Activate()
Application.Calculation = xlCalculationManual
End Sub

Private Sub Workbook_Deactivate()
Application.Calculation = xlCalculationAutomatic
End Sub
Ömer bey öncelikle teşekkürler.

Çözüm olmadı malesef. Evet çalışma kitabında otomatik hesaplamayı durduruyor ancak başka bir dosyada işlem yaparken yine tüm dosyalarda (kapattığımız dahil) hesaplamayı otomatik yapıyor ve dolayısı ile yine kasılmalar başlıyor dosyalarda.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ayarlama uygulama seviyesinde yapıldığı için sanırım istediğiniz işlem olmaz gibi görünüyor.

Application.Calculation = xlCalculationManual
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Hesaplamayı kapatmak istediğiniz dosyada boş bir modül oluşturup aşağıdaki kodları kopyalayıp deneyiniz.
Kod:
Sub hesaplama_pasif()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
    sh.EnableCalculation = False
Next
End Sub

Sub hesaplama_aktif()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
    sh.EnableCalculation = True
Next
End Sub
 

Soundcraft

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
33
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
05-08-2026
Ömer hocam kodlar gayet güzel çalışıyor. Bu şekilde ilgili dosyada hesaplamayı buton yordımı ile durdurup başlatabiliyoruz.
Çok teşekkür ederim ilgi ve bilginiz için.

Zihninize sağlık.
 
Katılım
23 Ocak 2024
Mesajlar
1
Excel Vers. ve Dili
2017 ve üstü
Merhaba,
Hesaplamayı kapatmak istediğiniz dosyada boş bir modül oluşturup aşağıdaki kodları kopyalayıp deneyiniz.
Kod:
Sub hesaplama_pasif()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
    sh.EnableCalculation = False
Next
End Sub

Sub hesaplama_aktif()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
    sh.EnableCalculation = True
Next
End Sub
Hocam teşekkürler ellerinize sağlık. Fakat bütün dosya değil sadece 2 sheet deki formüllerin güncellenmesini istiyorsak ne yapmalıyız ?
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki koddaki sayfa isimlerini kendi dosyanızdaki ile değiştirerek istediğiniz sayfayı aktif hale getirebilirsiniz.
Kod:
Sub kod()
Sheets("Sayfa1").EnableCalculation = True
Sheets("Sayfa2").EnableCalculation = True
End Sub
 
Üst