• DİKKAT

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

Soru Focus Cell: Hücre Odakla Özelliği Eklenti Hakkında

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
129
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Sayın arkadaşlar hayırlı sabahlar hayırlı işler.
Excel 365 Focus Cell: Hücre Odakla Özelliği diğer ofis sürümlerinde de kullanabileceğim bir eklenti olarak nasıl yapabilirim.
internetten bulduğum bazı vba kodlar ile aktif satır sütunu renklendirebiliyorum ama sadece mevcut sayfada kullanabiliyor.
Ben diğer excel sayfalarımda da kullanabileceğim ve sadece gerektiği zaman aktif etmek diğer zamanlarda pasif olmasını sağlayacak bir düğme eklenti nasıl yapılabilir. Yardım için şimdiden teşekkür ederim.
 
Yapay zeka bu çözümü verdi:
Excel'de aktif hücreyi (veya bulunduğu satır/sütunu) renklendirme özelliği, standart olarak Excel'in içinde bir ayar olarak bulunmaz. Bunu tüm çalışma kitaplarınızda çalışacak ve bir düğme ile açıp kapatabileceğiniz bir yapıya dönüştürmek için "Excel Eklentisi" (.xlam) formatında bir VBA projesi hazırlamanız gerekir.

Sadece bir sayfada değil, tüm Excel dosyalarınızda çalışmasını sağlamak için ThisWorkbook modülü yerine "Application Level Event" (Uygulama Düzeyi Olayları) kullanmalısınız.

İşte adım adım bu eklentiyi nasıl oluşturacağınız:

1. Adım: Bir Class Modülü Oluşturun​

Uygulama genelinde hücre seçimini takip etmek için bir sınıfa ihtiyacımız var.

  1. Excel'de Alt + F11 ile VBA editörünü açın.
  2. Insert > Class Module yolunu izleyin.
  3. Class modülünün ismini özellikler penceresinden EventClass olarak değiştirin.
  4. Kod kısmına şunu yapıştırın:

    VBA
    Public WithEvents App As Application
    Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveWorkbook.Name = "Eklentiniz.xlam" Then Exit Sub ' Kendi eklentinizi renklendirmeyin
    On Error Resume Next
    If Application.EnableEvents Then
    Sh.Calculate ' Koşullu biçimlendirmeyi tetikler
    End If
    End Sub

2. Adım: Standart Modül ve Düğme Kontrolü​

Burada bir "açma/kapama" değişkeni tanımlayacağız.

  1. Insert > Module ile yeni bir modül ekleyin.
  2. Kod kısmına şunları yazın:

    VBA

    Public HighlightActive As Boolean
    Dim X As New EventClass

    Sub Auto_Open()
    Set X.App = Application
    End Sub

    Sub ToggleHighlight()
    HighlightActive = Not HighlightActive
    If HighlightActive Then
    MsgBox "Hücre odaklama aktif edildi."
    Else
    MsgBox "Hücre odaklama pasif edildi."
    End If
    End Sub

3. Adım: Çalışma Kitabı Modülü (ThisWorkbook)​

  1. ThisWorkbook kısmına şunu ekleyin:

    VBA

    Private Sub Workbook_Open()
    Set X.App = Application
    End Sub

4. Adım: Eklenti Olarak Kaydetme​

  1. Dosya > Farklı Kaydet seçeneğine gidin.
  2. Kayıt türü olarak Excel Eklentisi (.xlam) seçin.
  3. Dosyayı Excel'in AddIns klasörüne (genelde otomatik seçilir) kaydedin.

5. Adım: Kullanım (Koşullu Biçimlendirme ile Bağlama)​

Bu sistem, <span>Calculate</span> metodunu kullanarak Excel'in koşullu biçimlendirmesini tetikler. Renklendirme yapmak istediğiniz çalışma sayfalarında şu kuralı eklemelisiniz:

  • Koşullu biçimlendirme formülüne: =VE(HücreOdaklama_Açık; SATIR()=HÜCRE("row")) gibi mantıksal bir yapı kurabilirsiniz.

İpucu ve Uyarılar​

  • Performans: Worksheet_SelectionChange olayı sürekli tetiklendiği için çok büyük ve formül yoğunluğu olan dosyalarda Excel'i biraz yavaşlatabilir.
  • Düğme Ekleme: Şerit (Ribbon) menüsüne bir buton eklemek isterseniz, "Office RibbonX Editor" gibi harici bir araç kullanmanız gerekir; ancak eklentinizi Geliştirici &gt; Makrolar altından ToggleHighlight makrosuna bir kısayol atayarak (Örn: Ctrl+Shift+H) düğmeye ihtiyaç duymadan çok daha hızlı yönetebilirsiniz.
Eğer bu süreç çok karmaşık gelirse, piyasada bu işi profesyonel olarak yapan ve ayarlarını kendi arayüzü ile sunan eklentiler (örneğin Asri Akdeniz'in bu konuda geliştirdiği çözümler gibi) daha kararlı çalışabilir.

Bu yapıyı oluştururken hangi adımda zorlandınız veya takıldığınız spesifik bir kod bloğu var mı?
 
Yardımı dokunan tüm arkadaşlardan Allah razı olsun özellikle Hasan Bey.in eklentisi süper olmuş emeğine zihnine sağlık.
Hasan Bey son bir sorum olacak renk değişimini nasıl yapabilirim.
 
Yardımı dokunan tüm arkadaşlardan Allah razı olsun özellikle Hasan Bey.in eklentisi süper olmuş emeğine zihnine sağlık.
Hasan Bey son bir sorum olacak renk değişimini nasıl yapabilirim.
Teşekkür ederim. cümlemizden inşallah. kod penceresi içerisinden class module var eklentinin. içerisinde hem dikey hemde yatay sutün için shpRow.Fill.ForeColor.RGB = RGB(173, 216, 230) ' Açık Mavi kodunu istediğiniz rengin rgb değerlerini yazarak değiştirebilirsiniz.
 
Geri
Üst