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

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

  • تمت الإجابة
قام بنشر (معدل)

الاجابة في المشاركة التالية

تم تعديل بواسطه عبدالله بشير عبدالله
  • Like 1
قام بنشر

بارك الله فيك أستاذ وجزاك الله خيرا

لكن ليس هذا المطلوب ربما أنا اخطأت في شرح المطلوب

 

العمل في الفورم

 

 

المطلوب

TextBox12

 

 

 

 

 

 

 

 -1 اذا كان التكست بوكس   12أقل أويساوي 7 النقطة تكون ما بين 0 حتى 30 لا تقبل 31

 -2اذا كان التكست بوكس12  أأكبر أويساوي 8 النقطة تكون ما بين 0 حتى 40 لا تقبل 41

 

 

 

 

 

النقطة في التكست بوكس 3 متغيرة

 

 

TextBox3

 

 

 

 

قام بنشر (معدل)

وفيك بارك الله

تم التعديل

Private Sub ComboBox1_Change()
    On Error Resume Next
    Application.EnableEvents = False
    
    Sheets("Sheet2").Range("L8").value = ComboBox1.value
    TextBox12.value = Sheets("Sheet2").Range("L10").value
    
    Application.EnableEvents = True
    On Error GoTo 0
End Sub

Private Sub TextBox12_Change()
    Static lastValue As Variant
    
    On Error Resume Next
    Application.EnableEvents = False
    
    If IsNumeric(Me.TextBox12.value) Then
        Dim value As Integer
        value = CInt(Me.TextBox12.value)
        
        Dim minValue As Integer, maxValue As Integer, newValue As Integer
        
        If value >= 8 Then
            minValue = 0
            maxValue = 40
        Else
            minValue = 0
            maxValue = 30
        End If
        
        Randomize
        
        Do
            newValue = Int((maxValue - minValue + 1) * Rnd()) + minValue
        Loop While newValue = lastValue
        
        Me.TextBox3.value = newValue
        lastValue = newValue
        
        ThisWorkbook.Sheets("Sheet2").Range("L13").value = newValue
    End If
    
    Application.EnableEvents = True
    On Error GoTo 0
End Sub

if أوفيسنا 3.xlsb

تم تعديل بواسطه عبدالله بشير عبدالله
قام بنشر
في 17‏/8‏/2025 at 20:51, عبدالله بشير عبدالله said:

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

حسب فهمى لطلبك

 الكود

Private Sub TextBox12_Change()
    If IsNumeric(Me.TextBox12.value) Then
        Dim value As Integer
        value = CInt(Me.TextBox12.value)
        
        Dim maxValue As Integer
        If value >= 8 Then
            maxValue = 40
        ElseIf value >= 7 Then
            maxValue = 30
        Else
            maxValue = 0
        End If
        
        If maxValue > 0 Then
            Me.TextBox3.value = Int((maxValue + 1) * Rnd())
        Else
            Me.TextBox3.value = 0
        End If
        
        ThisWorkbook.Sheets("Sheet2").Range("L13").value = Me.TextBox3.value
    Sheets("sheet2").Range("l8").value = ComboBox1.value
TextBox12.value = Sheets("sheet2").Range("l10").value

    End If
End Sub

الملف

if أوفيسنا 3.xlsb 123.18 kB · 6 downloads

 

بارك الله فيك أستاذ وجزاك الله خيرا

  • Like 1

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