• DİKKAT

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

Hareketli buton

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba, herkese hayırlı cumalar.

Ekte gönderdiğim excel dosyamda hareketli buton var, ben bu butonun sadece B sütunundaki dolu hücreye göre,
D sütununda hangi hücreye tıklarsam butonun hareket etmesini istiyorum.

Bir türlü yapamadım, yardımcı olur musunuz?
 

Ekli dosyalar

Sayfadaki kodu silin aşağıdakileri kopyalayın.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("D:D")) Is Nothing Then
        ActiveSheet.Shapes("Değer Değiştirici 1 ").Top = ActiveCell.Offset(-1, 0).Rows.Top
    End If
End Sub
 
Sayın dalgalikur, ilginiz için çok teşekkür ediyorum, ellerinize sağlık tam istediğim gibi çalışıyor.

Kodun D4'ten aşağıya doğru çalışmasını istesek nasıl yapmalıyız, ayrıca ActiveCell.Offset(-1, 0).Rows.Top buradaki 0 rakamını değiştirdiğimde hiç bi değişiklik olmuyor. 0 ne anlama geliyor acaba?
 
Sayın dalgalikur, ilginiz için çok teşekkür ediyorum, ellerinize sağlık tam istediğim gibi çalışıyor.

Kodun D4'ten aşağıya doğru çalışmasını istesek nasıl yapmalıyız, ayrıca ActiveCell.Offset(-1, 0).Rows.Top buradaki 0 rakamını değiştirdiğimde hiç bi değişiklik olmuyor. 0 ne anlama geliyor acaba?
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("D4:D" & rows.count)) Is Nothing Then
        ActiveSheet.Shapes("Değer Değiştirici 1 ").Top = ActiveCell.Offset(-1, 0).Rows.Top
    End If
End Sub


[B]ActiveCell.Offset(-1, 0).Rows.Top[/B]

Activecell
Activecell(1,1)
Activecell.offset
Activecell.offset(1,1)

bu dördü de o anda sayfada aktif olan hücre demektir.
Eğer aktif hücrenin bir üst hücresini ifade etmek istersek
activecell(-1,0) yazabiliriz

Daha iyi anlamak için şu kodu kopyalayıp çalıştırın.

activecell(-1,0)=now aktif hücrenin bir üst hücresine şu anın tarihini yazar.

sen -1 ve 0 rakamlarını değiştirerek kodu tekrar tekrar çalıştırıp sonucu gözlemlersen daha iyi anlarsın.

Kolay gelsin.
 
Sayın dalgalikur ellerinize sağlık çok teşekkür ediyorum, ayrıca açıklamalarda bulunduğunuz içinde çok teşekkür ederim.

Hayırlı günler diliyorum.
 
Sayın @dalgalikur, bu gönderdiğiniz kod gayet güzel çalışıyor, çokta işime yaradı ellerinize sağlık.

Ekte gönderdiğim excel dosyamda D2 sütunundan aşağıya doğru hangi hücreye basarsam basayım hareketli buton gayet güzel çalışıyor,
hareketli buton A sütunundaki doluluğa göre çalışabilir mi? Yani A sütununda en son dolu hücreden sonra çalışmasın.

Bu şekilde olabilir mi?
 

Ekli dosyalar

Aşağıdaki gibi yapıyorum, bu seferde kod hata veriyor.

Kod:
If Not Intersect(Target, Range("D2:D" & Rows.Count,1).End(3).Row)) Is Nothing Then
 
Böyle yapın.:cool:
Kod:
If Not Intersect(Target, Range("D2:D" & Rows.Count)) Is Nothing Then
 
Sayın Evren Bey, ilginiz için çok teşekkür ediyorum.

D sütununda boşluklar olduğu için göndermiş olduğunuz kod bu sefer çalışmıyor,
Kodun D sütununa bastığımda çalışacak, A sütunundaki en son dolu hücresine göre çalışmasını istiyorum.

Yani A sütunundaki en son veri 28.satırda bitiyor, D sütununda 28.satırdan aşağıya doğru bassamda çalışmasın diyorum.
 
Şu kodu kullanın.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("D1:D" & Cells(Rows.Count, "A").End(3).Row)) Is Nothing Then
        ActiveSheet.Shapes("Değer Değiştirici 1 ").Top = ActiveCell.Offset(-1, 0).Rows.Top
    End If
End Sub
 
Geri
Üst