مشكل در كد نويسي ليست باكس

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

    • 2010/10/03
    • 114

    مشكل در كد نويسي ليست باكس

    با سلام
    يه فابل اكسل دارم كه يه كد نويسي كردم كه بايد توي يه ليست باكس وقتي ورود اطلاعات كنم اون اطلاعاتو بعد از كليك روي دكمه ثبت نشون بده
    اما اين اتفاق نميوفته. وقتي فرمو دوباره باز ميكنم اون اطلاعات مياد. ميخوام به محض ورود اطلاعاتو نشون بده.
    ميشه يكي از اساتيد اشكال كارمو بهم بگه؟
    فایل های پیوست شده
    [color=#1e90ff]اگر تنهاترين تنهايان شوم بازهم خدا هست،
    او جانشين تمام نداشته هاي من است...![/color]
  • misammisam
    مدير تالار حسابداری و اکسل

    • 2014/04/04
    • 892
    • 64.00

    #2
    نوشته اصلی توسط 4017
    با سلام
    يه فابل اكسل دارم كه يه كد نويسي كردم كه بايد توي يه ليست باكس وقتي ورود اطلاعات كنم اون اطلاعاتو بعد از كليك روي دكمه ثبت نشون بده
    اما اين اتفاق نميوفته. وقتي فرمو دوباره باز ميكنم اون اطلاعات مياد. ميخوام به محض ورود اطلاعاتو نشون بده.
    ميشه يكي از اساتيد اشكال كارمو بهم بگه؟
    سلام
    منظورتون چيه ، يعني فقط اوني كه ثبت ميزنيرو نشون بده و قبليا نيان ، فقط رديف آخرو ميخواي نشون بده .
    [CENTER][SIGPIC][/SIGPIC]
    [/CENTER]
    [CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
    [CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
    [/CENTER]
    [/INDENT]

    [/FONT][/FONT][/FONT][/FONT][/FONT]
    [/CENTER]

    کامنت

    • امين اسماعيلي
      مدير تالار ويژوال بيسيك

      • 2013/01/17
      • 1198
      • 84.00

      #3
      با درود

      بیا فایلتو برسی کنیم
      شمو اومدی یه Exit Sub گذوشتی بین کدها - این یعنی از بقیه کد ها صرف نظر میشه و کلا میاد بیرون - اینو باید بکنی مثلا Exit for بعدش این که چرا کد های اخرت با کد های Active فرق میکنه من همون کد اکتیو رو گذاشتم بجاش که درست بشه - در ضمن اگر تازه شروع کردی به کد نویس قابل قبوله اما اگر نه یکم رو کد ها تجدید نطر کن - کد صحیح پس میشه
      کد:
      
      Private Sub CommandButton1_Click()
      If TextBox2.Text <> "" And ComboBox4.Text <> "" And ComboBox7.Text <> "" And ComboBox8.Text <> "" Then
      Dim c As Range
      For Each c In Sheet3.Range("A2:A200")
      If c = "" Then
      c = ComboBox7.Text
      c.Offset(0, 1) = ComboBox4.Text
      c.Offset(0, 2) = ComboBox8.Text
      c.Offset(0, 3) = TextBox2.Text
      TextBox2.Text = ""
      [COLOR=#ff0000]Exit For[/COLOR]
      End If
      Next
      
      
      Else
      MsgBox "Please Fill All data", vbInformation + vbMsgBoxRight, " Error "
      End If
      
      Dim r
      Dim w
      
      [COLOR=#ff0000]r = "kar3!" & "A2:d" & Application.WorksheetFunction.CountA(Sheet3.Range("A1:A100"))
      ListBox1.RowSource = r
      ListBox1.ListIndex = ListBox1.ListCount - 1[/COLOR]
      
      End Sub
      موارد قرمز عوض شد - این متغییر Dim W رو هم فک کنم اظافیه چون کاری باهاش انجام ندادی
      Last edited by امين اسماعيلي; 2014/07/22, 06:07.
      در پناه خداوندگار ایران زمین باشید و پیروز

      کامنت

      • 4017

        • 2010/10/03
        • 114

        #4
        نوشته اصلی توسط misammisam
        سلام
        منظورتون چيه ، يعني فقط اوني كه ثبت ميزنيرو نشون بده و قبليا نيان ، فقط رديف آخرو ميخواي نشون بده .
        نه همشو باهم نشون بده.وقتي ثبتو ميزنم هيچ اتفاقي رو ليست باكس نميوفته و فقط درصورتي كه فرم بسته و باز بشه همشو نشون ميده
        [color=#1e90ff]اگر تنهاترين تنهايان شوم بازهم خدا هست،
        او جانشين تمام نداشته هاي من است...![/color]

        کامنت

        • mokaram
          مدير تالار اکسل و بانک اطلاعاتی

          • 2011/02/06
          • 1805
          • 74.00

          #5
          کد استاد اسماعیلی را جایگزین کدهاتون بکنید مشکلتون حل میشه تست کردم بدون نقص جواب داد
          [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
          [/CENTER]

          کامنت

          • 4017

            • 2010/10/03
            • 114

            #6
            كاملا درست شد. هرچي باهاش كلنجار رفتم انجام نميشد.ممنون از لطفتون
            فقط يه سوال
            واسه اينكه ستونهاي ليست باكس از راست شروع بشه(راست چين نه) نميشه كاري كرد؟
            البته ميشه ستونها رو جابجا كرد. اما من جايي ديدم كه مثلا رديف از سمت راست شروع ميشه. توي جدولشم همينطوري بود
            [color=#1e90ff]اگر تنهاترين تنهايان شوم بازهم خدا هست،
            او جانشين تمام نداشته هاي من است...![/color]

            کامنت

            • Javid Mokhtari
              مدير تالار ويژوال بيسيك

              • 2012/01/16
              • 1212
              • 73.00

              #7
              نوشته اصلی توسط 4017
              كاملا درست شد. هرچي باهاش كلنجار رفتم انجام نميشد.ممنون از لطفتون
              فقط يه سوال
              واسه اينكه ستونهاي ليست باكس از راست شروع بشه(راست چين نه) نميشه كاري كرد؟
              البته ميشه ستونها رو جابجا كرد. اما من جايي ديدم كه مثلا رديف از سمت راست شروع ميشه. توي جدولشم همينطوري بود
              با سلام.
              در قسمت pertiespro یوزرفرمتون حالت RightToLeft رو برابر True قرار دهید.
              [FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
              بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان

              شرکت در دوره:
              [/FONT][/SIZE]
              [SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
              [/B][/FONT][/SIZE]
              [/CENTER]
              [/INDENT]
              [/FONT]

              کامنت

              • 4017

                • 2010/10/03
                • 114

                #8
                نوشته اصلی توسط jansiz hayat
                با سلام.
                در قسمت pertiespro یوزرفرمتون حالت RightToLeft رو برابر True قرار دهید.
                كاملا درست شد. يه سوال ديگه
                چطوري ميشه يه رديف اطلاعاتو توي ليست باكس حذف كرد؟
                [color=#1e90ff]اگر تنهاترين تنهايان شوم بازهم خدا هست،
                او جانشين تمام نداشته هاي من است...![/color]

                کامنت

                • mokaram
                  مدير تالار اکسل و بانک اطلاعاتی

                  • 2011/02/06
                  • 1805
                  • 74.00

                  #9
                  نوشته اصلی توسط 4017
                  چطوري ميشه يه رديف اطلاعاتو توي ليست باكس حذف كرد؟
                  به کرات این موضوع مطرح شده با سرچ کردن تو انجمن حتما به جوابتون میرسید
                  [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
                  [/CENTER]

                  کامنت

                  • Javid Mokhtari
                    مدير تالار ويژوال بيسيك

                    • 2012/01/16
                    • 1212
                    • 73.00

                    #10
                    نوشته اصلی توسط 4017
                    كاملا درست شد. يه سوال ديگه
                    چطوري ميشه يه رديف اطلاعاتو توي ليست باكس حذف كرد؟
                    با سلام.
                    ابتدا ردیف موردنظر رو در لیست باکستون انتخاب کنید سپس کد زیر رو اجرا کنید
                    کد PHP:
                    ListBox1.RemoveItem ListBox1.ListIndex 
                    توجه کنید که ردیف از لیست باکستون حذف میشه نه از دیتابیستون.یعنی اگر کدی که برای تغذیه لیست باکس نوشتین دوباره اجرا بشه، ردیف حذفی دوباره به لیست باکستون اضافه میشه
                    [FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
                    بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان

                    شرکت در دوره:
                    [/FONT][/SIZE]
                    [SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
                    [/B][/FONT][/SIZE]
                    [/CENTER]
                    [/INDENT]
                    [/FONT]

                    کامنت

                    چند لحظه..