• DİKKAT

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

Userform Sabitleme Hk.

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
193
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Herkese Merhaba ,

Amacım , Userformu ekranın tam ortasında açmak, açıldığı yerde sabitlemek ve mause ile sürüklenmesini yasaklamak istiyorum. ( Userformumun adı = Userform5 )

Bu kod ile Userform sayfanın tam ortasında açılıyor çok güzel fakat mause ile sürüklenebiliyor
Private Sub UserForm5_Layout()
Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub



Aynı kodu aşağıdaki gibi değiştirdiğimde ise mause ile sürüklenmiyor iyi güzel , fakat bu seferde Excel dosyamı ilk açtığımda Saçma sapan bir tarafa gidiyor , yarısı ekran içinde kalıyor yarısı da ekranda duruyor.
Private Sub UserForm_Layout()
Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub


Her iki kodu da userform' un kod kısmına yazıyorum ve sonuç alamıyorum. Konu hakkında yardımcı olabilecek kullanıcalara şimdiden teşekkür Ederim
 
Merhaba.

Pek ilgilendiğim konulardan değil ancak; aşağıdaki kodları uygulayarak istenileni elde ettim sanırım.
UserForm kendi ekranıma göre taşınamaz ve ekran ortasına konumlandırılmış duruma geldi.

Gerekirse kod'daki sayısal değerlerde değişiklikler yaparak sonuç alabilirsiniz diye düşünüyorum.
UserForm'un üzerine bir adet CommandButton ekleyin (adı CommandButton1 olsun)

Bu şekilde bir deneyin bakalım, umarım ihtiyacınızı karşılar.
Rich (BB code):
KODLARIN UYGULANDIĞI BELGE 5 NUMARALI CEVAP EKİNDE.
 
Son düzenleme:
Herkese Merhaba ,

Amacım , Userformu ekranın tam ortasında açmak, açıldığı yerde sabitlemek ve mause ile sürüklenmesini yasaklamak istiyorum. ( Userformumun adı = Userform5 )

Bu kod ile Userform sayfanın tam ortasında açılıyor çok güzel fakat mause ile sürüklenebiliyor
Private Sub UserForm5_Layout()
Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub



Aynı kodu aşağıdaki gibi değiştirdiğimde ise mause ile sürüklenmiyor iyi güzel , fakat bu seferde Excel dosyamı ilk açtığımda Saçma sapan bir tarafa gidiyor , yarısı ekran içinde kalıyor yarısı da ekranda duruyor.
Private Sub UserForm_Layout()
Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub


Her iki kodu da userform' un kod kısmına yazıyorum ve sonuç alamıyorum. Konu hakkında yardımcı olabilecek kullanıcalara şimdiden teşekkür Ederim
Aşağıdaki Kodu UserForm5 e yazarak deneyin.
Kod:
Private Type Pozisyon
Left As Single
Top As Single
End Type

Private Sub UserForm_ Layout()
Static Sabit As Pozisyon
Dim Hareket As Boolean
If Sabit.Left = 0 Or Sabit.Top = 0 Then
Sabit.Left = Me.Left
Sabit.Top = Me.Top
Exit Sub
End If
Hareket = False
If Me.Left <> Sabit.Left Then
Me.Left = Sabit.Left
Hareket = True
End If
If Me.Top <> Sabit.Top Then
Me.Top = Sabit.Top
Hareket = True
End If
End Sub
 
Son düzenleme:
Merhaba. Verdiğiniz kodu command1 butonu da ekleyerek denedim fakat kod hatası alıyorum maalesef

GM 5 Plus cihazımdan Tapatalk kullanılarak gönderildi
 
Tekrar Merhaba. Evet ben yönlendirmenizi yanlış anlamışım. Olay bu. Fakat benim userformum açılışta otomatik çıkıyor ve herhangi bir buton vs olmadan direkt monitörü ortalayarak ve mause ile taşınmasını engelleyecek bir koda ihtiyacım var. Yani userform içine gömülü olması lazım kodların

GM 5 Plus cihazımdan Tapatalk kullanılarak gönderildi
 
Aşağıdaki gibi basit bir kod işinizi görmez mi?

Kod:
Private Sub UserForm_Layout()
    Me.Top = (Application.Height - Me.Height) / 2
    Me.Left = (Application.Width - Me.Width) / 2
End Sub

.
 
Haluk hocam merhaba.
UF'yi a1 hücresinde sabitleyebilirmiz?
 
Anladım.
İlginize teşekkür ederim.
 
Merhaba. Bendeki kod zaten sizin yazdığınız kod gibi

GM 5 Plus cihazımdan Tapatalk kullanılarak gönderildi
 
Aynısı değil, benzeri....

Kod bende sorunsuz çalışıyor. Sizin başka kodlar işi karıştırıyor olabilir ....

.
 
Vermiş olduğunuz yanıtlar için hepinize ayrı ayrı teşekkür ederim. Bı sevdadan vazgeçeceğim anlaşılan [emoji1]

GM 5 Plus cihazımdan Tapatalk kullanılarak gönderildi
 
Tekrar merhaba.

Bir de aşağıdaki belgeyi dener misiniz?
UserForm'un, aktif excel penceresine göre değil, ekrana göre ortalanması işleminin gerçekleşmesi lazım
.
 

Ekli dosyalar

Son düzenleme:
Merhaba. Verdiğiniz kodu command1 butonu da ekleyerek denedim fakat kod hatası alıyorum maalesef

GM 5 Plus cihazımdan Tapatalk kullanılarak gönderildi
3.cü mesajda hata sebebi
Private Sub UserForm_ Layout() yerine
Private Sub UserForm_Layout() olacak boş boşluk var bende çalıştı.

 
Haluk Bey, Vermiş olduğunuz kod gerçekten işe yaradı galiba. Şimdilik bir sorun yok. Başka bilgisayarda da açtım orada da sorun yok. Size ve sizin gibi cevap yazan herkese Çok Teşekkür Ederim
 
Aşağıdaki gibi basit bir kod işinizi görmez mi?

Kod:
Private Sub UserForm_Layout()
    Me.Top = (Application.Height - Me.Height) / 2
    Me.Left = (Application.Width - Me.Width) / 2
End Sub

.
Haluk hocam kod çalışıyor, ancak userform'un başlığa mouse ile basılı tutup oynatmaya çalışınca hareket etmesini engelliyor ancak görüntüde titreme yapıyor ve userform arkasında kalan sayfada bazı veriler belli belirsiz görünüp kayboluyor.

Çözümü var mdır?
 
Geri
Üst