کمبوباکس

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • sma4727134

    • 2015/07/19
    • 119
    • 38.00

    کمبوباکس

    با سلام
    من در طراحی فرم برای وارد کردن تاریخ از combobox استفاده کرده ام می خواهم هنگام پر کردن تاریخ اگر هر چیزی به جز موارد موجود در کمبو باکس باشه تایپ نشه
    برای مثال در کمبو باکس مربوط به ماه بیش از 12 یا حروف نشه تایپ کرد مثلا کمبو باکس 20 را قبول نکند
    با تشکر
    فایل های پیوست شده
  • iranweld

    • 2015/03/29
    • 3341

    #2
    فایل شما هیچگونه یوزرفرمی ندارد.

    این کد را تست کنید

    کد PHP:
    Private Sub CommandButton1_Click()

    0

    For 1 To 12

    If Val(ComboBox1) = i Then


    1

    End 
    If

    Next


    If 0 Then ComboBox1 ""

    Else

    Range("A1") = ComboBox1.Value


    End Sub 
    Last edited by iranweld; 2016/12/03, 13:23.

    کامنت

    • sma4727134

      • 2015/07/19
      • 119
      • 38.00

      #3
      با تشکر از دوست عزیزم من اولا فایل اصلاحی را بارگذاری نمودم در ضمن منظورم را به درستی نتونستم برسونم در کمبو باکس 1 که مربوط به روز است در صورتی که بخواهم بصورت دستی تایپ کنم یعنی از لیست کشویی انتخاب نکنم فقط امکان تایپ مواردی را بهم بدهکه در لیست موجود باشه بر فرض من نتونم عدد 32 یا 40 را وارد کنم
      فایل های پیوست شده

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        فایل پیوست را بررسی بفرمایید.

        کد PHP:
        Private Sub UserForm_Initialize()

        For 
        1 To 31

        ComboBox1
        .AddItem i

        If <= 12 Then

        ComboBox2
        .AddItem i

        End 
        If

        ComboBox3.AddItem 1374 i

        Next

        End Sub 
        کد PHP:
        Private Sub CommandButton1_Click()

        0
        0
        0

        For 1 To 31

        If Val(ComboBox1) = i Then
        1
        End 
        If

        If 
        Val(ComboBox2) = i Then
        1
        End 
        If

        If 
        Val(ComboBox3) = 1374 i Then
        1
        End 
        If

        Next

        If And And 1 Then

        MsgBox 
        "ok"

        ElseIf 0 Then

        MsgBox 
        "ComboBox1 not ok"

        ComboBox1 ""

        ElseIf 0 Then

        MsgBox 
        "ComboBox2 not ok"

        ComboBox2 ""

        ElseIf 0 Then

        MsgBox 
        "ComboBox3 not ok"

        ComboBox3 ""

        End If

        End Sub 
        فایل های پیوست شده
        Last edited by iranweld; 2016/12/04, 14:22.

        کامنت

        • sma4727134

          • 2015/07/19
          • 119
          • 38.00

          #5
          با سلام
          با تشکر از دوست عزیزمان لازم به ذکر است من فایل جنابعالی را دیدم دستورات شما هنگام ذخیره فایل خطا می ده و فایل ذخیره نمی شه ولی من می خوام موقع تایپ خطا بده و از وارد کردن هر چیزی به جز مواردی که در لیست باکس موجود است جلوگیری کند
          با تشکر

          کامنت

          • iranweld

            • 2015/03/29
            • 3341

            #6
            کدهای ذیل را به فرم خود اضافه کنید

            کد PHP:
            Private Sub ComboBox1_Change()

            0

            For 1 To 31

            If Val(ComboBox1) = i Then

            1

            End 
            If

            Next

            If 0 Then ComboBox1 ""


            End Sub

            Private Sub ComboBox2_Change()

            0

            For 1 To 12

            If Val(ComboBox2) = i Then

            1

            End 
            If

            Next

            If 0 Then ComboBox2 ""


            End Sub

            Private Sub ComboBox3_Change()

            0

            For 1 To 31

            If Val(ComboBox3) = 1374 Then

            1

            End 
            If

            Next

            If 0 Then ComboBox3 ""

            End Sub 

            کامنت

            • sma4727134

              • 2015/07/19
              • 119
              • 38.00

              #7
              با تشکر از جنابعالی ممنون از راهنماییتون؛ آیا امکانش هست که اعداد یک رقمی( از 1 تا 9) بصورت دورقمی(یک صفر پشتشان نمایش داده شود.)

              کامنت

              • iranweld

                • 2015/03/29
                • 3341

                #8
                کدهای ذیل را جایگزین کنید

                کد PHP:
                Private Sub UserForm_Initialize()

                For 
                1 To 31

                If 10 Then

                ComboBox1
                .AddItem "0" i

                Else

                ComboBox1.AddItem i

                End 
                If

                If 
                <= 12 Then

                If 10 Then

                ComboBox2
                .AddItem "0" i

                Else

                ComboBox2.AddItem i

                End 
                If

                End If

                ComboBox3.AddItem 1374 i

                Next

                End Sub 
                فایل های پیوست شده

                کامنت

                • sma4727134

                  • 2015/07/19
                  • 119
                  • 38.00

                  #9
                  ممنون و تشکر از راهنماییتون

                  کامنت

                  چند لحظه..