اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

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

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

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

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

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

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

 

وشكرا لكم

قام بنشر

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

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

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

تقبل تحياتي

قام بنشر

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

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

 

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