اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمه الله وبركاته

تحية طيبة لجميع الاعضاء في المنتدى العريق

سؤال ظهر في جلسة مناقشة 

هل يوجد كود برمجي لإنشاء يوزرفوم بشكل تلقائي 

ولا اتحدث عن اي فورم مرن 

اتحدث عن إنشاء فورم تلقائي طبقا للبيانات التي في ورقة العمل 

اتمنى من عباقرة المنتدى الكرام افادتنا

 

وشكرا لكم

قام بنشر

وعليكم السلام

أظن أن هذا غير ممكن

كل ورقة عمل لها بياناتها الخاصة والمبرمج يعمل الفورم بناء على البنانات في ورقة العمل فيتحكم في وضع الأزرار في الفورم ومربعات النصوص وغيرها بناء على المطلوب  تنفيذه

تقبل تحياتي

قام بنشر

انا لا اقصد انشاء فورم كامل بالازرار او مربعات النصوص او الليست بوكس وخلافه 

وجدت هذا الكود وانا اقوم بالبحث

 

Sub CreateDynamicUserForm()
    Dim months As Variant
    Dim selectedMonths As String
    Dim i As Integer
    
    ' قائمة بأسماء الأشهر
    months = Array("يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", _
                   "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر")
    
    ' إنشاء نموذج المستخدم ديناميكيًا
    Dim frm As Object
    Set frm = CreateObject("MSForms.UserForm")
    With frm
        .Caption = "اختيار الأشهر"
        .Width = 300
        .Height = 300
    End With
    
    ' إضافة ListBox لعرض الأشهر
    Dim lstBox As Object
    Set lstBox = frm.Controls.Add("Forms.ListBox.1")
    With lstBox
        .Name = "lstMonths"
        .Left = 20
        .Top = 20
        .Width = 250
        .Height = 200
        .MultiSelect = fmMultiSelectMulti ' السماح باختيار عدة أشهر
    End With
    
    ' إضافة الأشهر إلى ListBox
    For i = LBound(months) To UBound(months)
        lstBox.AddItem months(i)
    Next i
    
    ' إضافة زر "موافق" لتأكيد الاختيار
    Dim btnOK As Object
    Set btnOK = frm.Controls.Add("Forms.CommandButton.1")
    With btnOK
        .Caption = "موافق"
        .Left = 50
        .Top = 230
        .Width = 80
        .Height = 30
        .OnAction = "ConfirmSelection"
    End With
    
    ' إضافة زر "إلغاء" لإغلاق النافذة
    Dim btnCancel As Object
    Set btnCancel = frm.Controls.Add("Forms.CommandButton.1")
    With btnCancel
        .Caption = "إلغاء"
        .Left = 170
        .Top = 230
        .Width = 80
        .Height = 30
        .OnAction = "CancelSelection"
    End With
    
    ' تعريف المتغيرات للتعامل مع الأحداث
    Dim isCancelled As Boolean
    isCancelled = False
    
    ' عرض النموذج
    frm.Show
    
    ' التحقق مما إذا تم الضغط على "إلغاء"
    If isCancelled Then
        MsgBox "تم إلغاء العملية.", vbInformation
        Exit Sub
    End If
    
    ' جمع الأشهر المختارة من ListBox
    selectedMonths = ""
    For i = 0 To lstBox.ListCount - 1
        If lstBox.Selected(i) Then
            If selectedMonths = "" Then
                selectedMonths = lstBox.List(i)
            Else
                selectedMonths = selectedMonths & "," & lstBox.List(i)
            End If
        End If
    Next i
    
    ' عرض الأشهر المختارة
    If selectedMonths = "" Then
        MsgBox "لم يتم اختيار أي شهر.", vbExclamation
    Else
        MsgBox "الأشهر المختارة: " & selectedMonths, vbInformation
    End If
End Sub

' كود الحدث لزر "موافق"
Sub ConfirmSelection()
    Dim userForm As Object
    Set userForm = VBA.UserForms(0)
    userForm.Hide
End Sub

' كود الحدث لزر "إلغاء"
Sub CancelSelection()
    Dim userForm As Object
    Set userForm = VBA.UserForms(0)
    isCancelled = True
    userForm.Hide
End Sub

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information