• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.
 
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.
 
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
 
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.
 
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.
 
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
 
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.
 
Ayarlama uygulama seviyesinde yapıldığı için sanırım istediğiniz işlem olmaz gibi görünüyor.

Application.Calculation = xlCalculationManual
 
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
 
Ö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.
 
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 ?
 
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
 
Geri
Üst