• DİKKAT

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

her sayfada, hücre tıklanınca çalışan makro

Katılım
21 Aralık 2014
Mesajlar
26
Excel Vers. ve Dili
excel 2003
http://www.excel.web.tr/f14/hucreye-tyklayynca-hucredeki-deoeri-ba-ka-bir-hucreye-t129971.html
adresinde sayın dalgalıkur tarafından

<code> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
Sheets("AnaSayfa").Range("L2").Offset = Target.Offset
End If
End Sub<code>

Şeklinde kod verilmiş. Bu kod ile “Anasayfa” adlı excel sayfasında "b" sütununda herhangi bir hücreye tıklanınca L2 hücresinde tıklanan hücrenin değeri yazıyor.
Benim sorum ise şöyle: Çalışmam sırasında pivot tablonun herhangi bir satırına tıkladığımda aynı excel kitabında sayfa1,sayfa2 gibi yeni sayfalar açılıyor. İsimlerini önceden bilmediğim, yeni açılan bu sayfaların tümünde çalışacak kodu oluşturabilir miyiz? Yani yukarıdaki kod,yeni açılanlar dahil excel kitabının tüm sayfalarında çalışabilir mi?
Yardımlarınız için şimdiden çok teşekkür ederim.
 
internetten araştırmam sonucu vba ekranında "bu çalışma kitabı"nı seçip sağ tıklayıp aşağıdaki kodu ekleyince her sayfada kod çalıştı.
Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Column = 2 Then
        ActiveSheet.Range("L2").Offset = Target.Offset
    End If
End Sub
Yanlız sorunuma çare olmadı. benim yapmak istediğim bu rastgele açılan sayfadaki L2 hücresindeki değeri alıp "satışlar" adlı defterin ikinci sutununa filtre değeri olarak atamaktı. Bunun için başta yazdığım gibi "bu çalışma kitabı"nı seçip sağ tıklayıp view code kısmına aşağıdaki kodu yapıştırdım ama çalışmadı:
Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Column = 2 Then
        ActiveSheet.Range("L2").Offset = Target.Offset
 End If
   
    Range("L2").Select
    Selection.Copy
    Sheets("Satışlar").Select
    Range("K1").Select
    ActiveSheet.Paste

Dim sonuc
sonuc = Range("k1").Value
    ActiveSheet.Range("$A$1:$F$12").AutoFilter Field:=2, Criteria1:=sonuc

 End Sub
okuduğunuz için teşekkür ederim.Örnek defter ektedir.
 

Ekli dosyalar

Son düzenleme:
Geri
Üst