ببخشید من میم را با ضمه خواندم!!!نقل قول:
پس اسم شما رو به فارسي چطور مي نويسند؟
ضمنا خیلی ممنون خیلی عالی بود
Printable View
ببخشید من میم را با ضمه خواندم!!!نقل قول:
پس اسم شما رو به فارسي چطور مي نويسند؟
ضمنا خیلی ممنون خیلی عالی بود
دوست عزیز
javad2625
من برای تکست باکس 4 کد زیر را نوشتم ولی برای تکست باکس 5 چیزی به ذهنم نرسید !!!!!!!
کد:Select Case KeyCode
Case 40, 13
Me.TextBox5.Activate
Case 38
Me.TextBox3.Activate
End Select
ضمنا اگر بخوام موقع فعال شدن فرم تکست باکس 1 فعال بشه چکار باید بکنم ؟
سلام.خیلی عالی است.آقا جواد دستت درد نکنه
راستش من هنوز وقت نکردم همه مطالبو بخونم.فقط چون خودم می خوام یه جزوه آموزش اکسل داشته باشم تا بعدا بهش مراجعه کنم و اگه کسی ازم سوال کرد بتونم جواب بدم می خواستم از آقا جواد اجازه بگیرم که آیا ایرادی داره من مطالبه شما رو توی جزوم کپی پیست کنم و در اختیار دیگران قرار بدم؟
سلام Mefmef جاننقل قول:
کد رو خوب و درست نوشتی. معلومه که خوب متوجه شدی.
برای TB5 هم با یه کم تغییر می تونستی همون کد رو استفاده کنی، فقط قسمت اول (کد مربوط به دکمه جهت پایین و دکمه اینتر) رو لازم نداشت. نگاه:
برای این که موقع باز شدن WorkBook تکست باکس 1 فعال بشه باید در رویداد WorkBook_Open کدی رو که میگم بنویسید.کد:Select Case KeyCode
Case 38 '--> ' دکمه جهت بالا
Me.TextBox4.Activate
End Select
اول سمت چپ محیط کدنویسی در قسمت Project روی ThisWorkBook دوبار کلیک کنید، بعد در بالای پنجره کدنویسی، قسمت اشیاء ، شیء WorkBook رو انتخاب و در رویداد WorkBook_Open کد زیر رو بنویسد:
کد:Private Sub Workbook_Open()
Sheet1.TextBox1.Activate
End Sub
نقل قول:
سلام
از شما ممنونم
کپی از مطالبی که میگذارم اشکال نداره مگر این که خودم بگم کپی نکنید.
برنامه نویسی ویژوال بیسیک در اکسل
درس پنجم: انتقال داده ها از تکست باکس به کاربرگ
فرض کنید 3 تا TB دارید و میخواید نوشته های داخل اونها رو به خانه های A1 تا C1 از Sheet2 منتقل کنید. چکار می کنید؟
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این کار بسیار ساده هست. کافیه یه CommandButton به برنامه اضافه کنیم و دستورات زیر رو در رویداد Click اون بنویسیم:
(تذکر: اعدادی که جلوی Cells نوشته شده اند به ترتیب شماره ردیف و شماره ستون خانه مورد نظر از جدول هستند و به جای اونها می تونه هر شماره دلخواه دیگری هم گذاشته بشه).
خوب!کد:Sheet2.Cells(1,1).Value = TextBox1.Text
Sheet2.Cells(2,1).Value = TextBox2.Text
Sheet2.Cells(3,1).Value = TextBox3.Text
حالا TB ها و CB رو بکشید و کدی رو که گفتم امتحان کنید ببینید درست کار می کنه یا نه؟
اگه درست کار کرد به سوال زیر جواب بدید:
سوال:
5 تکست باکس بکشید (از TB1 تا TB5) و برنامه ای بنویسید که داده های این TB ها رو به خانه های A1 تا A5 از Sheet2 منتقل کنه بعد هم Sheet2 رو فعال کنه (نمایش بده).
راهنمایی: برای نمایش Sheet2 باید از دستور Sheet2.Activate استفاده کنیم.
حالا یه سوال سخت هم می خوام بپرسم ببینم کی می تونه جواب بده:
در رویداد TextBox5_KeyDown برنامه ای بنویسید که اگه کسی کلید Enter رو در TB5 بزنه برنامه قبلی (جواب سوال قبل) اجرا بشه.
راهنمایی: از دستور Select Case استفاده کنید. کد کلید Enter هم عدد 13 هست.
برای امروز دیگه کافیه.
یکی دو جلسه دیگه از کلاس های ویژوال بیسیک مونده که بعداً ادامه میدیم. بعدش هم مثل قبل بر می گردیم به سبک Q&A (سوال و جواب).
بروبکس ازیز
اگه خواصطید طو برنامه های دیگیه آفیص ، از اکسل و اینچیزا استفاده کنید، یا تو برنامه ویبیه خودتون، کافیه که فایل لایبرریه اکسل رو Add کنید تو برنامتون....
اگه دلتون میخواد که تو اوتوکت هم برنامه بنویسید، منو بخبرید، پیلیض..
سلام دوست عزیز javad2625
کدی که گفته بودید را نوشتم درسته ؟
ولی متوجه این سوال نشدم وقتی کلید اینتر را می زنیم چی اجرا بشه ؟کد:Sheet2.Cells(1, 1).Value = TextBox1.Text
Sheet2.Cells(1, 2).Value = TextBox2.Text
Sheet2.Cells(1, 3).Value = TextBox3.Text
Sheet2.Cells(1, 4).Value = TextBox4.Text
Sheet2.Cells(1, 5).Value = TextBox5.Text
Sheet2.Activate
یه سوالم دارم اگه بخواهیم بعد از ذخیره شدن اطلاعات مثلا در ردیف a1 تا f1 تمام تکست باکسها خالی شده و کرسر به تکست باکس اول منتقل بشه وبا کلیک بعدی کلید فرمان اطلاعات جدیدی که وارد کردیم در ردیف a2 تا f2 ذخیره بشه واین کار در ردیفهای بعدی هم تکرار بشه چکار باید بکنیم ؟نقل قول:
حالا یه سوال سخت هم می خوام بپرسم ببینم کی می تونه جواب بده:
در رویداد TextBox5_KeyDown برنامه ای بنویسید که اگه کسی کلید Enter رو در TB5 بزنه برنامه قبلی (جواب سوال قبل) اجرا بشه.
بله! كاملاً درست نوشتي.نقل قول:
کدی که گفته بودید را نوشتم درسته ؟
وقتي Enter رو مي زنيم، همون كدي كه الآن نوشتي اجرا بشه.نقل قول:
ولی متوجه این سوال نشدم وقتی کلید اینتر را می زنیم چی اجرا بشه ؟
براي اين كار، كافيه اون كد رو در رويداد TextBox5_Keydown داخل عبارت Select Case بنويسيم. اينجوري:
(همونطور كه مي بينيد در اين كدي كه نوشتم، فاصله قسمت هاي مختلف كد، نسبت به ابتداي سطر با هم متفاوت هست. كار رو برنامه نويس ها براي زيبايي بيشتر و خواناتر شدن كد مي كنند. شما هم بهتره هميشه همين كار رو بكنيد. )کد:Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 13 'Enter
Sheet2.Cells(1, 1).Value = TextBox1.Text
Sheet2.Cells(1, 2).Value = TextBox2.Text
Sheet2.Cells(1, 3).Value = TextBox3.Text
Sheet2.Cells(1, 4).Value = TextBox4.Text
Sheet2.Cells(1, 5).Value = TextBox5.Text
Sheet2.Activate
End Select
End Sub
براي پاك كردن محتواي هر تكست باكس (مثلاً TB1):نقل قول:
یه سوالم دارم اگه بخواهیم بعد از ذخیره شدن اطلاعات مثلا در ردیف a1 تا f1 تمام تکست باکسها خالی شده و کرسر به تکست باکس اول منتقل بشه وبا کلیک بعدی کلید فرمان اطلاعات جدیدی که وارد کردیم در ردیف a2 تا f2 ذخیره بشه واین کار در ردیفهای بعدی هم تکرار بشه چکار باید بکنیم
براي فعال كردن تكست باكس 1:کد:TextBox1.Text = ""
براي اين كه داده ها در اولين رديف خالي از Sheet2 نوشته بشن،کد:TextBox1.Activate
بايد در همون كد قبلي، به جاي نوشتن شماره رديف، از برنامه بخوايم كه شماره اولين رديف خالي رو به دست بياره و استفاده كنه:
کد:i = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1
Sheet2.Cells(i, 1).Value = i 'ÔãÇÑå ÑÏíÝ
Sheet2.Cells(i, 2).Value = TextBox1.Text
Sheet2.Cells(i, 3).Value = TextBox2.Text
Sheet2.Cells(i, 4).Value = TextBox3.Text
Sheet2.Cells(i, 5).Value = TextBox4.Text
Sheet2.Cells(i, 6).Value = TextBox5.Text
سلام دوست عزیز javad2625
خیلی ممنون از توضیحاتی که دادید فقط اگر لطف کنید در مورد کد زیر کمی بیشتر توضیح بدید سپاسگزار می شم
نقل قول:
i = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1
Sheet2.Cells(i, 1).Value = i 'ÔãÇÑå ÑÏíÝ