• DİKKAT

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

Bölmeleri dondur kod ile yazılması

Katılım
10 Kasım 2006
Mesajlar
399
Excel Vers. ve Dili
microsoft office 2007-2010-2013-2019-2021
İyi günler, excel de ANASAYFA adında bir sayfam var. ANASAYFA nın Bölmeleri dondur seçeneğinden ziyade kod ile yazılarak hareket etmemesi yoksa bölmeleri dondur seçeneğinden kaldırmak usulü ile kaldırıldığı zaman istediğim bir ana sayfa olmuyor. Örnek olarak A1:Y100 arası sabit kalmalı hiç bir şekilde iptal edilmemeli.
 
Aşağıdaki şekilde işiniz görülüyor mu bir deneyin.
Ben A1:M9 dondurmak için N10 hücresini seçtim, siz ilgili adresi değiştirebilirsiniz.
Değiştirmek için <>9 ve <>12 ifadelerinde satır ve kolon numaralarını ve Range("N10") başvurusunu değiştireceksiniz.
C++:
Private Sub Worksheet_Activate()
If ActiveWindow.SplitRow <> 9 Or ActiveWindow.SplitColumn <> 12 Then Call FreezePaneAyarla
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveWindow.SplitRow <> 9 Or ActiveWindow.SplitColumn <> 12 Then Call FreezePaneAyarla
End Sub
Sub FreezePaneAyarla()
    ActiveWindow.FreezePanes = False
    ActiveWindow.SplitRow = Range("N10").Row - 1
    ActiveWindow.SplitColumn = Range("N10").Column - 1
    ActiveWindow.FreezePanes = True
End Sub
 
Makro Kaydet ile yapabilirdiniz.
Kod:
Sub dondur()
ActiveWindow.SplitRow = 1
ActiveWindow.FreezePanes = True
End Sub
 
Ömer bey teşekkür ederim ama olmadı.
 
Seyit bey otomatik olarak kilitlemesi gerekiyor yani sürekli kilitli kalması gerekiyor. Üstelik sizin kodunuz aşağı gitmiyor ama sağa ve sola hareket ediyor. Birde sadece birinci satırı kilitliyor.
 
Bu kod satır ve sütunu sabit yapıyor, sürekli sabit olması için uygun olayları deneyiniz.
Kod:
Private Sub Worksheet_Activate()
ActiveWindow.SplitColumn = 25
ActiveWindow.SplitRow = 1
ActiveWindow.FreezePanes = True
End Sub
Private Sub Worksheet_Deactivate()
ActiveWindow.SplitColumn = 25
ActiveWindow.SplitRow = 1
ActiveWindow.FreezePanes = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWindow.SplitColumn = 25
ActiveWindow.SplitRow = 1
ActiveWindow.FreezePanes = True
End Sub
 
Seyit Bey örnek dosya gönderdim. Sarı alanın sabit kalması lazım burdan yardımcı olursanız sevinirim
 

Ekli dosyalar

Teşekkür ederim Seyit Bey sizi uğraştırdım. Emeğinize sağlık sağolun.
 
Geri
Üst