..::.. Otomatik Hesaplamanın Belli Sayfalar İçin Durdurulması ..::..

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhabalar !..

Excel'in formülleri otomatik hesaplama işlemini,
vba kod vasıtasıyla veya başka bir yolla,
sadece belli sayfalar için devre dışı bırakmak mümkün müdür?

Tecrübeli arkadaşlardan olumlu/olumsuz cevap gelirse sevinirim.

İlgileneceklere şimdiden teşekkürler.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
ThisWorkbook (BuÇalışmaKitabı) kod kısmına bu kodları yazarak deneyebilirsiniz;
Kod:
[FONT="Trebuchet MS"][SIZE="2"]Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name = "[COLOR="Red"]Sayfa2[/COLOR]" Then
        Application.Calculation = xlCalculation[COLOR="Red"]Manual[/COLOR]
            Else
        Application.Calculation = xlCalculation[COLOR="red"]Automatic[/COLOR]
    End If
End Sub[/SIZE][/FONT]
Eğer aktif olan sayfa ismi Sayfa2 ise; Hesaplama Seçeneği El ile olacaktır, değilse Otomatik.
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Murat Bey, belgemde çalışan makro kod iki sayfa arasında yerleşik işlevlerle arama sayma en yüksek adette olan belli sayıdaki veriyi de üçüncü bir sayfaya yazma şeklinde çalışıyor.
Belgemdeki bu üç sayfanın dışındaki bir kısım sayfalardaki dizi formülleri belgenin yavaşlamasına neden oluyor. Dizi formülleri olan sayfalardaki hesaplamayı manuele çevirmek için sordum.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Kodun içerisine birden fazla sayfa adını nasıl yerleştireceğim?
If Else Then sıralaması bakımından soruyorum.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Bu şekilde yazabilirsiniz;
Kod:
[FONT="Verdana"][SIZE="2"]If Sh.Name = "[COLOR="Red"]Sayfa2[/COLOR]" [COLOR="red"]Or [/COLOR]Sh.Name = "[COLOR="red"]Sayfa3[/COLOR]" [COLOR="red"]Or [/COLOR]Sh.Name = "[COLOR="red"]Sayfa4[/COLOR]" Then[/SIZE][/FONT]
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Kod bilmeyince mecburen soruyorum, kusura bakmayınız.
Kodun başındaki activate ibaresi o sayfa aktif olduğunda anlamına mı geliyor?
Yani benim çalıştığım sayfa Sayfa1 iken kodun Else'den önceki satırına sayfa2'yi yazınca, ben sayfa1'deki formüllerle otomatik hesaplama biçiminde çalışırken sayfa2'de hesaplamalar yapılmaksızın bekliyor ve ben sayfa2'yi aktive ettiğimde otomatiğe dönecek öyle mi?
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Workbook_SheetActivate olayı; çalışma kitabında belirtilen sayfa(lar) aktif olduğunda (açıldığında) çalışmasını istediğiniz eylemlerin, işlemlerin yapılacağı olaydır.

Bu kod satırında;
Kod:
[FONT="Trebuchet MS"][SIZE="2"]If Sh.Name = "Sayfa2" Or Sh.Name = "Sayfa3" Or Sh.Name = "Sayfa4" Then[/SIZE][/FONT]
[FONT="Trebuchet MS"][SIZE="2"]Eğer sayfa adı eşitse Sayfa2'ye ya da sayfa adı eşitse Sayfa3'e ya da sayfa adı eşitse Sayfa4'e diyoruz.[/SIZE][/FONT]
Şarta uyan sayfalar aktif olduğunda (açıldığında) Hesaplama Seçeneği El ile olur, şarta uymayan bir sayfa aktif olduğunda (açıldığında) Hesaplama Seçeneği Otomatik olur.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Yanlış anlamadıysam; benim beklentim bu değildi, ben bir yanda otomatik hesaplama açık şekilde bir sayfada çalışırken, ismini yazdığım sayfalardaki hesaplamalar yapılmadan beklemesini istiyordum. Yani neticede Application.Calculation = xlCalculation olayı tüm çalışma kitabı için otomatik veya elle, sayfalar itibariyle bir kısmını manuel, bir kısmını otomatik yapmak mümkün değilmiş demek ki.
Vaktinizi aldım, teşekkürler, sağlıcakla.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst