• DİKKAT

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

Userform pozisyonu aktif hücreye göre ayarlamak

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,201
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Ekli dosyada
sarı boyalı alanda dolu bir hücre seçildiği zaman Userform açılmakta;
Userform' un sol konumunu aktif hüzrenin sağına göre açılmasını nasıl sağlayabiliriz?
ekli görselde olduğu gibi..

teşekkürler,
iyi Çalışmalar.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WS As Worksheet

If Intersect(Target, Range("D3:I11")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub

UserForm1.Caption = " [ " & Target.Value & " ]"
UserForm1.Label1.Caption = Target.Value

UserForm1.Show

End Sub
 

Ekli dosyalar

  • Kitap1.xlsm
    Kitap1.xlsm
    20.1 KB · Görüntüleme: 5
  • 123.jpg
    123.jpg
    29.1 KB · Görüntüleme: 3
Merhaba,

Dener misiniz?

Userform'un Activate olayına;
UserForm1.Left = ActiveCell.Left + ActiveCell.Width +15

Düzeltme: Denemeden yazmıştım, bende biraz sağlı duruyor. O yüzden 15 ekleyerek hizalayabildim.
 
Son düzenleme:
Merhaba,

Dener misiniz?

Userform'un Activate olayına;
UserForm1.Left = ActiveCell.Left + ActiveCell.Width +15

Düzeltme: Denemeden yazmıştım, bende biraz sağlı duruyor. O yüzden 15 ekleyerek hizalayabildim.
Teşekkürler Hocam
yalnız bu durum aplikasyon full-screen (tam ekran) olunca oluyor,
yalnız applikasyonu ekran üzerinde küçültüp farklı boyutlara getirdiğimizde bu ayar kayıyor.
ekli ekran görüntüsü....
iyi çalışmalar.
 

Ekli dosyalar

  • 1234.jpg
    1234.jpg
    219.5 KB · Görüntüleme: 5
Tekrar merhaba,

Sanırım aşağıdaki gibi işinizi görür, dener misiniz?

Kod:
Private Sub UserForm_Activate()
Dim dd As Integer
If Application.Left > 0 Then
dd = Application.Left
End If
UserForm1.Left = ActiveCell.Left + ActiveCell.Width + 15 + dd
End Sub
 
Merhaba.

Aşağıdaki kodu Sayfa1'in kod kısmına kopyalayın.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("D3:I11")) Is Nothing And Target <> "" Then
        Target.Interior.Color = RGB(255, 0, 0)
        With UserForm1
            .StartUpPosition = 0
            .Caption = " [ " & Target.Value & " ]"
            .Label1.Caption = Target.Value
            .Left = ActiveCell.Left + ActiveCell.Width + 14 + ActiveWindow.Left
            .Top = ActiveCell.Top + 170 + ActiveWindow.Top
            .Show
        End With
        ActiveCell.Interior.Color = RGB(255, 255, 0)
    End If
End Sub
 
Son düzenleme:
Geri
Üst