Hücreye Makro atama

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Arkadaşlar butona makro atamayı biliyorum da hücreye nasıl makro atama yapılıyor yardımlarınızı bekliyorum.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,180
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıda verdiğim örnekleri ilgili sayfanın (Örneğin Sayfa1'in) kod bölümüne yazabilirsiniz.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Intersect(Target, [C1]) Is Nothing Then Exit Sub
    MsgBox "C1 Hücresine Çift TIKLADINIZ", vbInformation
    'Yapmak istediğiniz işlemler için gerekli kodları bundan sonra yazabilirsiniz
    
End Sub
Yukarıdaki kodlar C1 hücresine ÇİFT TIKLANDIĞINda çalışan kodlardır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B1]) Is Nothing Then Exit Sub
    MsgBox "B1 hücresinde değişlik yaptınız"
    'Yapmak istediğiniz işlemler için gerekli kodları bundan sonra yazabilirsiniz
    
End Sub
Bu kod ise B1 hücresinde değişiklik olduğunda çalışan kodlardır.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
    MsgBox "A1 Hücresini Seçtiniz", vbInformation
    'Yapmak istediğiniz işlemler için gerekli kodları bundan sonra yazabilirsiniz
    
End Sub
Bu kod ise A1 hücresi seçildiğinde çalışan kodlardır.

Diğer olayları VBA'nın kod bülümünde görebilirsiniz. Örneğin Bir ya da birden fazla hücrede Sağ klik olayı gibi, mantığı yukarıda verdiğim örnekler gibi.

Ya da Sayfa aktif/sayfadan çıkıldığında da kodlar yazılabilinir.
Umarım yardımcı olmuşumdur.
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Hocam cevabın için teşekkür ederim şuan telefondan giriyorum bilgisayara geçtiğimde deniyecem yapıp yapamadığımı bildirecem size
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,180
Excel Vers. ve Dili
Ofis 365 Türkçe
Yaparsınız yaparsınız, acele etmeyin :)
 
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
Selamın aleykum benim bir konuda yardıma ihtiyacım var hucreye makro atayacağım
BM7 içeriği degisince CA7-Y7 arasini kopyalayacak çalışma kitabını kaydedecek
BM8 içeri degisince CA8_Y8 YI kopyalayacak çalışma kitabını kaydedecek bu şekilde en son
BM30 içeriği degisince CA30_Y30 kopyalayacak kitabı kaydedecek yardımcı olursanız çok sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsettiğiniz aralıkları kopyalayınca bir yere yapıştıracak mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Çalışma kitabını kaydedecek demişsiniz. Kaydetme sonrası kitap açık mı kalacak?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İşlemi yapacağınız sayfanın kod bölümüne uygulayıp deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("BM7:BM" & Rows.Count)) Is Nothing Then Exit Sub
    If Target.Value <> "" Then
        ThisWorkbook.Save
        Range("Y" & Target.Row & ":CA" & Target.Row).Copy
    End If
End Sub
 
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
İşlemi yapacağınız sayfanın kod bölümüne uygulayıp deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("BM7:BM" & Rows.Count)) Is Nothing Then Exit Sub
    If Target.Value <> "" Then
        ThisWorkbook.Save
        Range("Y" & Target.Row & ":CA" & Target.Row).Copy
    End If
End Sub
Hücrede işlem yapınca tabloyu kaydediyor fakat kopyaladığı hücreler yanlış oluyor bm7 de işlem yapınca CA7 VE DY7 ARASINI kopyalamiyor
Bende yanlış yazmışım Y7 yazmışım DY7 olcak ben kodda duzelttim gene olması
Atıyorum bm10 islam yapınca CA10 VE DY10 Kopyaların en son BM30 da sonlanacak yani 24 adet
 
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
Hücrede işlem yapınca tabloyu kaydediyor fakat kopyaladığı hücreler yanlış oluyor bm7 de işlem yapınca CA7 VE DY7 ARASINI kopyalamiyor
Bende yanlış yazmışım Y7 yazmışım DY7 olcak ben kodda duzelttim gene olması
Atıyorum bm10 islam yapınca CA10 VE DY10 Kopyaların en son BM30 da sonlanacak yani 24 adet
Ben her saat başı değer giriyorum bu hücreyi girdiğimde CA VE DY ARASI kopyaliyacak 24 saat olduğundan bir günde 24 kez bM7 den başlayıp bm8 ,bm9...bm30 diye bm hücrelerinde saat başı işlem yapıyorum olayın özü bu hocam
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("BM7:BM30")) Is Nothing Then Exit Sub
    If Target.Value <> "" Then
        ThisWorkbook.Save
        Range("CA" & Target.Row & ":DY" & Target.Row).Copy
    End If
End Sub
 
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("BM7:BM30")) Is Nothing Then Exit Sub
    If Target.Value <> "" Then
        ThisWorkbook.Save
        Range("CA" & Target.Row & ":DY" & Target.Row).Copy
    End If
End Sub
Elinize saglik hocam çok teşekkür ederim calisti
 
Katılım
27 Ocak 2021
Mesajlar
96
Excel Vers. ve Dili
2019 turkce
Merhabalar exellde gizli olmayan sayfaları masa üstüne Faaliyet Raporu diye çalışma kitabı oluşturup oraya taşıyacak makroya ihtiyacım var yardımcı olabilirmisiniz.
 
Üst