• DİKKAT

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

Mousela sayfa kaydırdıkça Nesnenin de sayfa ile birlikte otomatikkayması

Katılım
2 Ekim 2012
Mesajlar
75
Excel Vers. ve Dili
2007 Türkçe
Daima imlecin bir hücre sağında düğme kayar.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Shapes("Button 1").Top = ActiveCell.Top
Shapes("Button 1").Left = ActiveCell.Offset(, 2).Left
End Sub

--------------------------------------------------------------------------
Yukarıdaki kod seyit tiken bey tarafından Amaxx nikli arkadaşın bir “kayar buton nasıl yapılır?” sorusuna cevap olarak gönderilmiş.

Benim de böyle bir sorunum var. Seyit Tiken beyin verdiği code gerçekten güzel. Yardımı için teşşekkür ederim. Ancak benim yapmak istediğim daha farklı.

Nesneyi sayfanın o an görünen en üst satırına ya da seyit beyin yaptığı gibi görünen en üst satıra göreceli bir konumda göstermek.

Ancak referans başvuru bir hücre değil mouse hareketine bağlı olarak sayfanın o an ki en üst satırı olmalı. Yani bu nesne kaydırma işi, mousela sayfayı kaydırdıkça (scrollrow) gerçekleşecek. Örneğin bir Liste Kutusu Form Denetimini, sayfa mouse hareketi ile aşağı yukarı kaydıkça sayfayla birlikte hareket ettirecek. Yardımlarınız için şimdiden teşekkür ederim.
 
Sayfaların mouse eventi (olayı) yoktur. Bu sebeple istediğiniz işlem yapılamaz. Hücre seçerseniz yapılabilir.
 
Seçili hücreye bağlı olarak seçili satır en üste gelir ve buna bağlı olarakda buton da en üstte görülecek şekilde; (not kodlar daha evvelce üstadlarımız tarafından yazılmış kodlardır)

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Üst_Satır = ActiveWindow.ActivePane.ScrollRow
    Aktif_Satır = Target.Row
    Satır_Say = Windows(1).VisibleRange.Rows.Count
    If Üst_Satır <= Aktif_Satır Then
    ActiveWindow.SmallScroll Down:=Aktif_Satır - Üst_Satır
    End If
Shapes("Button 1").Top = ActiveCell.Top
Shapes("Button 1").Left = ActiveCell.Offset(, 2).Left
End Sub
 
Göstermiş olduğunuz ilgiye teşekkür ederim. Evet çok kurcaladım ama mouse tekerleğine bağlı bir hareketi elde etmenin bir yolunu ben de bulamadım. O yüzden konuyu açmaya kara vermiştim.

Tahsin arkadaşın verdiği kodu denedim. Benzer işlevde bir koda rastlamıştım sitede. Ancak Tahsin arkadaşın verdiği kodla her yeni hücre seçiminde sayfa aşağı kayıyor. Kodun sayfayı kaydırmadan çalışması için şu değişikliği yaptım

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells(Windows(1).VisibleRange.Row, Windows(1).VisibleRange.Column).Select
Shapes("Button 1").Top = ActiveCell.Top
Shapes("Button 1").Left = ActiveCell.Offset(, 2).Left

End Sub

Amacım ListBox kullanarak Word'deki "Belge Bağlantıları" na benzer bir "İçindekiler Listesi" oluşturmak. ListBox'taki bir seçeneğe tıkladığımda ilgili başlığın olduğu pencerenin en üst satırına gitmek ve ListBox'ıda o pencerenin en üst satırında en soldaki sütuna dayalı bir yere taşımak. Bu kodlar üzerinde çalışarak halledeceğimi sanıyorum.
 
Geri
Üst