UserForm çerçeve kaldırmak

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,103
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Arkadaşlar, sayın hocalarım, UserForm'da çerçeve kaldırmak tamam da 2. Bir UserForm olursa nasıl bir yol izlemeliyiz?
Biliyorum sadece görsel.
Teşekkür ederim.
Saygılarımla.
 

Ekli dosyalar

Korhan Ayhan

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

Aşağıdaki kodu UserForm2'nin kod bölümüne eklemeniz yeterli olacaktır.

C++:
Private Sub UserForm_Initialize()
    HideTitleBar Me
End Sub
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,103
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Merhaba,

Aşağıdaki kodu UserForm2'nin kod bölümüne eklemeniz yeterli olacaktır.

C++:
Private Sub UserForm_Initialize()
    HideTitleBar Me
End Sub
Hocam öncelikle teşekkür ederim.
Hocam ben bunu yaptım zaten ancak şöyle bir hata alıyorum. UserForm ismi farklı olduğu için mi acaba. UserForm1'in adı farklı.


Ekran görüntüsü 2024-02-22 202731.png
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,699
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aynı kod bloğundan sanırım bir tane daha var. Silerseniz düzelecektir.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,103
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Aynı kod bloğundan sanırım bir tane daha var. Silerseniz düzelecektir.
Hocam kodu siz yazmıştınız zaten. UserForm kod bölümüne bu kodu.
Boş bir modüle de

Kod:
Option Explicit
Option Private Module

Public Const GWL_STYLE = -16
Public Const WS_CAPTION = &HC00000
#If VBA7 Then
    Public Declare PtrSafe Function GetWindowLong _
                           Lib "user32" Alias "GetWindowLongA" ( _
                           ByVal hwnd As LongPtr, _
                           ByVal nIndex As Long) As Long
    Public Declare PtrSafe Function SetWindowLong _
                           Lib "user32" Alias "SetWindowLongA" ( _
                           ByVal hwnd As LongPtr, _
                           ByVal nIndex As Long, _
                           ByVal dwNewLong As Long) As Long
    Public Declare PtrSafe Function DrawMenuBar _
                           Lib "user32" ( _
                           ByVal hwnd As LongPtr) As Long
    Public Declare PtrSafe Function FindWindowA _
                           Lib "user32" (ByVal lpClassName As String, _
                           ByVal lpWindowName As String) As LongPtr
#Else
    Public Declare Function GetWindowLong _
                           Lib "user32" Alias "GetWindowLongA" ( _
                           ByVal hWnd As Long, _
                           ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong _
                           Lib "user32" Alias "SetWindowLongA" ( _
                           ByVal hWnd As Long, _
                           ByVal nIndex As Long, _
                           ByVal dwNewLong As Long) As Long
    Public Declare Function DrawMenuBar _
                           Lib "user32" ( _
                           ByVal hWnd As Long) As Long
    Public Declare Function FindWindowA _
                           Lib "user32" (ByVal lpClassName As String, _
                           ByVal lpWindowName As String) As Long
#End If
Sub HideTitleBar(frm As Object)
#If VBA7 Then
    Dim lFrmHdl As LongPtr
#Else
    Dim lFrmHdl As Long
#End If
    Dim lngWindow As Long
    lFrmHdl = FindWindowA(vbNullString, frm.Caption)
    lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
    lngWindow = lngWindow And (Not WS_CAPTION)
    Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
    Call DrawMenuBar(lFrmHdl)
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,699
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Şöyle izah edeyim....

İlk mesajda paylaştığınız dosyayı indirdim.
Dosyanızı açtım.
Kodları biraz inceledikten sonra size önerdiğim kodu USERFORM2 nin kod penceresine yapıştırdım.

Sonra ana formu açarak test ettim.

Sonuç : Düzgün şekilde çalıştı...
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,103
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Şöyle izah edeyim....

İlk mesajda paylaştığınız dosyayı indirdim.
Dosyanızı açtım.
Kodları biraz inceledikten sonra size önerdiğim kodu USERFORM2 nin kod penceresine yapıştırdım.

Sonra ana formu açarak test ettim.

Sonuç : Düzgün şekilde çalıştı...
Hocam bende de çalıştı ama esas yaptığım dosyada UserForm isimleri anasayfa cari musteri toplam bu yüzden mi acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,699
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Olayın UserForm ismiyle bir bağlantısı yoktur...
 
Üst