PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشكل در كد نويسي ليست باكس



4017
2014/07/21, 22:04
با سلام
يه فابل اكسل دارم كه يه كد نويسي كردم كه بايد توي يه ليست باكس وقتي ورود اطلاعات كنم اون اطلاعاتو بعد از كليك روي دكمه ثبت نشون بده
اما اين اتفاق نميوفته. وقتي فرمو دوباره باز ميكنم اون اطلاعات مياد. ميخوام به محض ورود اطلاعاتو نشون بده.
ميشه يكي از اساتيد اشكال كارمو بهم بگه؟

misammisam
2014/07/22, 00:31
با سلام
يه فابل اكسل دارم كه يه كد نويسي كردم كه بايد توي يه ليست باكس وقتي ورود اطلاعات كنم اون اطلاعاتو بعد از كليك روي دكمه ثبت نشون بده
اما اين اتفاق نميوفته. وقتي فرمو دوباره باز ميكنم اون اطلاعات مياد. ميخوام به محض ورود اطلاعاتو نشون بده.
ميشه يكي از اساتيد اشكال كارمو بهم بگه؟
سلام
منظورتون چيه ، يعني فقط اوني كه ثبت ميزنيرو نشون بده و قبليا نيان ، فقط رديف آخرو ميخواي نشون بده .

امين اسماعيلي
2014/07/22, 05:01
با درود

بیا فایلتو برسی کنیم
شمو اومدی یه 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 = ""
Exit For
End If
Next


Else
MsgBox "Please Fill All data", vbInformation + vbMsgBoxRight, " Error "
End If

Dim r
Dim w

r = "kar3!" & "A2:d" & Application.WorksheetFunction.CountA(Sheet3.Range("A1:A100"))
ListBox1.RowSource = r
ListBox1.ListIndex = ListBox1.ListCount - 1

End Sub


موارد قرمز عوض شد - این متغییر Dim W رو هم فک کنم اظافیه چون کاری باهاش انجام ندادی

4017
2014/07/22, 07:37
سلام
منظورتون چيه ، يعني فقط اوني كه ثبت ميزنيرو نشون بده و قبليا نيان ، فقط رديف آخرو ميخواي نشون بده .
نه همشو باهم نشون بده.وقتي ثبتو ميزنم هيچ اتفاقي رو ليست باكس نميوفته و فقط درصورتي كه فرم بسته و باز بشه همشو نشون ميده

mokaram
2014/07/22, 07:45
کد استاد اسماعیلی را جایگزین کدهاتون بکنید مشکلتون حل میشه تست کردم بدون نقص جواب داد

4017
2014/07/22, 07:47
كاملا درست شد. هرچي باهاش كلنجار رفتم انجام نميشد.ممنون از لطفتون
فقط يه سوال
واسه اينكه ستونهاي ليست باكس از راست شروع بشه(راست چين نه) نميشه كاري كرد؟
البته ميشه ستونها رو جابجا كرد. اما من جايي ديدم كه مثلا رديف از سمت راست شروع ميشه. توي جدولشم همينطوري بود

Javid Mokhtari
2014/07/22, 11:19
كاملا درست شد. هرچي باهاش كلنجار رفتم انجام نميشد.ممنون از لطفتون
فقط يه سوال
واسه اينكه ستونهاي ليست باكس از راست شروع بشه(راست چين نه) نميشه كاري كرد؟
البته ميشه ستونها رو جابجا كرد. اما من جايي ديدم كه مثلا رديف از سمت راست شروع ميشه. توي جدولشم همينطوري بود
با سلام.
در قسمت pertiespro یوزرفرمتون حالت RightToLeft رو برابر True قرار دهید.

4017
2014/07/24, 07:48
با سلام.
در قسمت pertiespro یوزرفرمتون حالت RightToLeft رو برابر True قرار دهید.
كاملا درست شد. يه سوال ديگه
چطوري ميشه يه رديف اطلاعاتو توي ليست باكس حذف كرد؟

mokaram
2014/07/24, 07:52
چطوري ميشه يه رديف اطلاعاتو توي ليست باكس حذف كرد؟

به کرات این موضوع مطرح شده با سرچ کردن تو انجمن حتما به جوابتون میرسید

Javid Mokhtari
2014/07/24, 10:02
كاملا درست شد. يه سوال ديگه
چطوري ميشه يه رديف اطلاعاتو توي ليست باكس حذف كرد؟
با سلام.
ابتدا ردیف موردنظر رو در لیست باکستون انتخاب کنید سپس کد زیر رو اجرا کنید

ListBox1.RemoveItem ListBox1.ListIndex

توجه کنید که ردیف از لیست باکستون حذف میشه نه از دیتابیستون.یعنی اگر کدی که برای تغذیه لیست باکس نوشتین دوباره اجرا بشه، ردیف حذفی دوباره به لیست باکستون اضافه میشه