درس جديد وكود جديد من سلسلة اكواد اكسيل vba
لو انت عايز تاخد بيانات من شيت معين وعندك يوزرفورم ومغطى على الشيت كلة ومش عارف تنقل الداتا بتاعتك
الحل عندنا فى الكود دة
اكسيل VBA | عمل يوزرفورم شفاف بطريقة احترافية | Transparent UserForm
كود سهل وبسيط جدا الكود جاهز كل اللى عليك انك هتعمل كوبى للكود وتضعة فى حدث Genral لليوزرفورم وهتستدعى الكود بعد كدة بالطريقة اللى شرحناها فى الفيديو
Private Declare Function FindWindow _
Lib "user32"
Alias "FindWindowA" _
(ByVal lpClassName As
String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong _
Lib "user32"
Alias "GetWindowLongA" _
(ByVal hWnd As Long,
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong _
Lib "user32"
Alias "SetWindowLongA" _
(ByVal hWnd As Long,
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes _
Lib "user32"
_
(ByVal hWnd As Long,
ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2&
Public hWnd As Long
Sub MakeTransparent(frm As Object, TransparentValue As Integer)
Dim bytOpacity As Byte
'Control the opacity setting.
bytOpacity = TransparentValue
hWnd = FindWindow("ThunderDFrame", frm.Caption)
Call SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd,
GWL_EXSTYLE) Or WS_EX_LAYERED)
Call SetLayeredWindowAttributes(hWnd, 0, bytOpacity, LWA_ALPHA)
End Sub
Private Sub CommandButton1_Click()
MakeTransparent Me, 150
End Sub
Private Sub CommandButton2_Click()
MakeTransparent Me, 255
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
'MakeTransparent Me, 75
End Sub