چک باکس

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • میثم مقدم نیا

    • 2017/03/23
    • 558
    • 41.00

    [حل شده] چک باکس

    سلام

    یه سوال

    من تو یک فایل میخوام اقلام را با تیک کردن در یوزرفرم وارد جدول کنم مثل تصویر زیر

    Click image for larger version

Name:	Untitled.png
Views:	1
Size:	32.1 کیلو بایت
ID:	149207

    حال میخوام بجای فاصله خالی این اقلام پشت سر هم قرار بگیرند

    لطفا راهنمایم کنید
    فایل های پیوست شده
    [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

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

    Click image for larger version

Name:	Untitled.png
Views:	1
Size:	86.3 کیلو بایت
ID:	138580
    فایل های پیوست شده

    کامنت

    • میثم مقدم نیا

      • 2017/03/23
      • 558
      • 41.00

      #3
      نوشته اصلی توسط iranweld
      با سلام

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

      [ATTACH=CONFIG]22327[/ATTACH]
      با سلام خدمت استاد عزیزم
      یه مشکل کوچک تو این دستور هست که تو عکس زیر نگاه کنید متوجه میشد
      یکی اینکه اعداد ردیف دوم حذف میشه و دو اینکه بعضی از کزینه ها پشت سر هم قرار نمیگرند
      کدهای ستون B و E هم با دستور vlookup فراخوانی میشوند

      Click image for larger version

Name:	Untitled2.png
Views:	1
Size:	34.5 کیلو بایت
ID:	138582



      یه درخواست دیگه این که اگه بخوام این فرم برای شیت دوم هم که شبیه همین فرم هست که ما بقی را در اون شیت انتخاب و ثبت کینم باید یوزر فرم دیگر ایجاد کنم یا بت فرا خوانی همین فرم امکان پزیر هست
      فایل های پیوست شده
      [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        چند تا کد آخر رو برای شما گذاشتیم که اصلاح کنید.

        کد HTML:
        Private Sub CommandButton1_Click()
        
        Dim list1 As New Collection
        Set list1 = Nothing
        Range("c3:c12", "f3:f12").ClearContents
        For i = 1 To 20                If Me.Controls("CheckBox" & i) = True Then        list1.Add Me.Controls("CheckBox" & i).Caption        End If                Next
             If list1.Count > 0 Then        For i = 1 To list1.Count        If i <= 10 Then        Range("c" & i + 2) = list1.Item(i)                Else                Range("f" & i + 2 - 10) = list1.Item(i)        End If                Next                 MsgBox "ÇØáÇÚÇÊ ÈÇ ãæÝÞíÊ ËÈÊ ÔÏ", vbMsgBoxRight, "ËÈÊ ÇØáÇÚÇÊ"
        
                        End If                       End Sub
        فایل های پیوست شده

        کامنت

        • majid_mx4

          • 2012/06/25
          • 699

          #5
          با سلام

          دستورات زیر برگرفته از کد های جناب آقای IranWeld عزیز نوشته شده هر چند ایشان پاسخ مناسب را داده ، لطفا کد ها را چک کنید که جواب دلخواه را می دهد یانه .
          کد:
          Private Sub CommandButton1_Click()
          k = 3
          k2 = 3
          
          Range("b3:c12", "e3:f12").ClearContents
            For Each ctl2 In Me.Controls
          If TypeOf ctl2 Is MSForms.CheckBox Then
          If Me.Controls(ctl2.Name).Value = True = True And k <= 12 Then
                  Sheets("Sheet1").Cells(k, 3).Value = Me.Controls(ctl2.Name).Caption
                         
                  k = k + 1
                  
                  ElseIf Me.Controls(ctl2.Name).Value = True Then
                  Sheets("Sheet1").Cells(k2, 6).Value = Me.Controls(ctl2.Name).Caption
                  k2 = k2 + 1
                  End If
                  End If
          Next
          
                  MsgBox "ÇØáÇÚÇÊ ÈÇ ãæÝÞíÊ ËÈÊ ÔÏ", vbMsgBoxRight, "ËÈÊ ÇØáÇÚÇÊ"
          
          End Sub
          موفق باشید میر

          کامنت

          • میثم مقدم نیا

            • 2017/03/23
            • 558
            • 41.00

            #6
            نوشته اصلی توسط iranweld
            چند تا کد آخر رو برای شما گذاشتیم که اصلاح کنید.

            کد HTML:
            private sub commandbutton1_click()
            
            dim list1 as new collection
            set list1 = nothing
            range("c3:c12", "f3:f12").clearcontents
            for i = 1 to 20                if me.controls("checkbox" & i) = true then        list1.add me.controls("checkbox" & i).caption        end if                next
                 if list1.count > 0 then        for i = 1 to list1.count        if i <= 10 then        range("c" & i + 2) = list1.item(i)                else                range("f" & i + 2 - 10) = list1.item(i)        end if                next                 msgbox "çøáçúçê èç ãæýþíê ëèê ôï", vbmsgboxright, "ëèê çøáçúçê"
            
                            end if                       end sub

            با سلام مجدد
            استاد عالی بود ولی مشکل حذف شدن فرمول در ستون
            e حل نشد

            [ATTACH=CONFIG]22336[/ATTACH]

            بازم از زحمات شما اساتید عزیزم سپاس گذارم
            فایل های پیوست شده
            [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]

            کامنت

            • میثم مقدم نیا

              • 2017/03/23
              • 558
              • 41.00

              #7
              نوشته اصلی توسط میثم مقدم نیا

              با سلام مجدد
              استاد عالی بود ولی مشکل حذف شدن فرمول در ستون e حل نشد

              [ATTACH=CONFIG]22336[/ATTACH]

              بازم از زحمات شما اساتید عزیزم سپاس گذارم
              با تغییر کوچیک در کد شما این مشکل حل شد


              کد PHP:
              Private Sub CommandButton1_Click()

              Dim list1 As New Collection

              Set list1 
              Nothing

              Range
              ("c3:c12").ClearContents
              Range
              ("f3:f12").ClearContents

              For 1 To 20

                      
              If Me.Controls("CheckBox" i) = True Then
                      list1
              .Add Me.Controls("CheckBox" i).Caption
                      
                      End 
              If

                      
              Next

                   
              If list1.Count 0 Then
                      
              For 1 To list1.Count
                      
              If <= 10 Then
                      Range
              ("c" 2) = list1.Item(i)

                      Else

                      
              Range("f" 10) = list1.Item(i)

                      
              End If

                      
              Next

                      MsgBox 
              "اطلاعات با موفقيت ثبت شد"vbMsgBoxRight"ثبت اطلاعات"

                      
              End If

              End Sub 
              Last edited by میثم مقدم نیا; 2021/02/12, 00:39.
              [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]

              کامنت

              • Meysam6335

                • 2019/01/17
                • 17

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

                کامنت

                • iranweld

                  • 2015/03/29
                  • 3341

                  #9
                  نوشته اصلی توسط Meysam6335
                  سلام
                  در این بخش من از این طرح یه نمونه برداشتم و برام یه سوال پیش اومده که اگه بخوایم این یوزر فرم را دفعات بعد بازکنیم اون مواردی را که قبلا تیک زدیم مثل اپشن باتون ها تو فرم هم تیک بخوره چطور امکان پذیر هست

                  نوشته اصلی توسط Meysam6335
                  سلام
                  در این بخش من از این طرح یه نمونه برداشتم و برام یه سوال پیش اومده که اگه بخوایم این یوزر فرم را دفعات بعد بازکنیم اون مواردی را که قبلا تیک زدیم مثل اپشن باتون ها تو فرم هم تیک بخوره چطور امکان پذیر هست
                  مثل نمونه کدهای ذیل تکمیل کنید.

                  کد PHP:
                  Private Sub UserForm_Initialize()
                  For 
                  3 To 12
                  Select 
                  Case Range("c" i)
                  Case 
                  "ماوس"
                  Me.Controls("CheckBox1") = True
                  Case "کيبرد"
                  Me.Controls("CheckBox2") = True

                  Case "کيس"
                  Me.Controls("CheckBox3") = True
                  Case "رم"
                  Me.Controls("CheckBox4") = True

                  Case "کارت گرافيگ"
                  Me.Controls("CheckBox5") = True
                  Case "اسپيکر"
                  Me.Controls("CheckBox6") = True

                  Case "مانيتور"
                  Me.Controls("CheckBox7") = True
                  Case "هارد"
                  Me.Controls("CheckBox8") = True



                  End Select
                  Next

                  End Sub 

                  کامنت

                  • Meysam6335

                    • 2019/01/17
                    • 17

                    #10
                    نوشته اصلی توسط iranweld
                    مثل نمونه کدهای ذیل تکمیل کنید.

                    کد PHP:
                    Private Sub UserForm_Initialize()
                    For 
                    3 To 12
                    Select 
                    Case Range("c" i)
                    Case 
                    "ماوس"
                    Me.Controls("CheckBox1") = True
                    Case "کيبرد"
                    Me.Controls("CheckBox2") = True

                    Case "کيس"
                    Me.Controls("CheckBox3") = True
                    Case "رم"
                    Me.Controls("CheckBox4") = True

                    Case "کارت گرافيگ"
                    Me.Controls("CheckBox5") = True
                    Case "اسپيکر"
                    Me.Controls("CheckBox6") = True

                    Case "مانيتور"
                    Me.Controls("CheckBox7") = True
                    Case "هارد"
                    Me.Controls("CheckBox8") = True



                    End Select
                    Next

                    End Sub 
                    سلام
                    استاد در کد شما
                    کد:
                    For i = 3 To 12
                    فقط سطون e تیک میخوره و ستون f تیک نمیخوره
                    Click image for larger version

Name:	Untitled05.png
Views:	1
Size:	43.6 کیلو بایت
ID:	138593

                    کامنت

                    • میثم مقدم نیا

                      • 2017/03/23
                      • 558
                      • 41.00

                      #11
                      نوشته اصلی توسط Meysam6335
                      سلام
                      استاد در کد شما
                      کد:
                      For i = 3 To 12
                      فقط سطون e تیک میخوره و ستون f تیک نمیخوره
                      [ATTACH=CONFIG]22345[/ATTACH]

                      سلام
                      شما کد زیر را جایگزین کنید مشکل حل میشود

                      کد PHP:
                      Private Sub UserForm_Initialize()

                      For 
                      3 To 12

                      Select 
                      Case Range("c" i)

                      Case 
                      "ماوس"
                      Me.Controls("CheckBox1") = True
                      Case "کيبرد"
                      Me.Controls("CheckBox2") = True

                      Case "کيس"
                      Me.Controls("CheckBox3") = True
                      Case "رم"
                      Me.Controls("CheckBox4") = True

                      Case "کارت گرافيگ"
                      Me.Controls("CheckBox5") = True
                      Case "اسپيکر"
                      Me.Controls("CheckBox6") = True

                      Case "مانيتور"
                      Me.Controls("CheckBox7") = True
                      Case "هارد"
                      Me.Controls("CheckBox8") = True

                      End Select

                      Next

                      For 3 To 12

                      Select 
                      Case Range("f" i)

                      Case 
                      "ماوس"
                      Me.Controls("CheckBox1") = True
                      Case "کيبرد"
                      Me.Controls("CheckBox2") = True

                      Case "کيس"
                      Me.Controls("CheckBox3") = True
                      Case "رم"
                      Me.Controls("CheckBox4") = True

                      Case "کارت گرافيگ"
                      Me.Controls("CheckBox5") = Tru
                      eCase 
                      "اسپيکر"
                      Me.Controls("CheckBox6") = True

                      Case "مانيتور"
                      Me.Controls("CheckBox7") = True
                      Case "هارد"
                      Me.Controls("CheckBox8") = True

                      End Select

                      Next

                      End Sub 
                      Last edited by میثم مقدم نیا; 2021/02/15, 11:42.
                      [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]

                      کامنت

                      • iranweld

                        • 2015/03/29
                        • 3341

                        #12
                        نوشته اصلی توسط Meysam6335
                        سلام
                        استاد در کد شما
                        کد:
                        For i = 3 To 12
                        فقط سطون e تیک میخوره و ستون f تیک نمیخوره
                        [ATTACH=CONFIG]22345[/ATTACH]
                        بقیه کدها رو باید تکمیل میگردید.

                        در این کدها بعد از کد چک باکس 3 تا چک باکس 20 کدها رو کامل کنید.

                        کد PHP:
                        Private Sub UserForm_Initialize()

                        For 
                        3 To 12
                        Select 
                        Case Range("c" i)

                        Case 
                        "ماوس"
                        Me.Controls("CheckBox1") = True
                        Case "کيبرد"
                        Me.Controls("CheckBox2") = True

                        Case "کيس"
                        Me.Controls("CheckBox3") = True



                        ..
                        Me.Controls("CheckBox20") = True


                        End Select
                        Next


                        For 3 To 12
                        Select 
                        Case Range("f" i)

                        Case 
                        "ماوس"
                        Me.Controls("CheckBox1") = True
                        Case "کيبرد"
                        Me.Controls("CheckBox2") = True

                        Case "کيس"
                        Me.Controls("CheckBox3") = True


                        ..
                        Me.Controls("CheckBox20") = True


                        End Select
                        Next

                        End Sub 

                        کامنت

                        چند لحظه..