PDA

View Full Version : سوال: سوال در مورد ماکرو نویسی (VBA) در اکسل 2010



saiid_pakan
یک شنبه 08 بهمن 1391, 11:05 صبح
با سلام خدمت شما دورستان عزیز
قبل از شروع حرفم از شما دوستان عذر خواهی میکنم اگر تاپیکم رو جای غیر معقول باز کردم چون تالاری رو در زمینه ی برنامه نویسی اکسل ندیدم و نزدیک ترین تالار VB.NET بود
دوستان عزیز من یک سوال خیلی تخصصی تو زمینه ی ماکرو نویسی اکسل 2010 دارم
اولا کسی از دوستان مرجع کامل و مفیدی رو میدونه که کاملا و جامع در باره ی تمامی مواردی که تو ماکرو نویسی به زبان وی بی هست رو بهم نشون بده و کامل توضیح داده باشه بهم معرفی کنه (من خودم خیلی گشتم تو نت ولی اکثرشون یا خیلی محدود دربارش حرف زده بودن و یا فقط مقدماتی توضیح داده بودن)
بعد اینکه من میخوام کاری رو تو اکسل انجام بدم ولی به دلیل وجود سطر و ستون بالای 6000 تا در اکسل نمیتونم دستی این کار رو کنم و به خاطر همین نیاز به کمک دارم
اگر کسی از دوستان هست که میتونه تو این زمینه سریع به بنده کمک کنه خواهشا خبر بده تا من شرح کامل کاری که میخوام تو اکسل انجام بشه رو براش توضیح بدم
واقعا ممنونم از شما

محسن واژدی
یک شنبه 08 بهمن 1391, 12:24 عصر
سلام علیکم
خوشبختانه منابع آموزش ماکروها در اکسل فراوان هست، به عنوان مثال صفحه گوگل زیر:
http://www.google.com/search?client=opera&q=excel+2010+macros+for+beginers+guide+ebook+filet ype:pdf&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest#q=introduction+to+using+macros+in+ Microsoft+Excel+2010+filetype:pdf&hl=en&client=opera&tbo=d&channel=suggest&psj=1&psj=1&psj=1&psj=1&ei=ePEEUYLnCIXKsgaSkoDIDw&start=20&sa=N&bav=on.2,or.r_gc.r_pw.r_qf.&bvm=bv.41524429,d.bGE&fp=494e5638b67c89c&biw=991&bih=645

آموزش زیر هم بررسی کنید:
http://www.dur.ac.uk/resources/its/info/guides/39Excel2003Macros.pdf

سوالتون در همین تاپیک مطرح کنین تا با کمک دوستان حل بشه

موفق باشید

saiid_pakan
یک شنبه 08 بهمن 1391, 12:31 عصر
سلام علیکم
خوشبختانه منابع آموزش ماکروها در اکسل فراوان هست، به عنوان مثال صفحه گوگل زیر:
http://www.google.com/search?client=opera&q=excel+2010+macros+for+beginers+guide+ebook+filet ype:pdf&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest#q=introduction+to+using+macros+in+ Microsoft+Excel+2010+filetype:pdf&hl=en&client=opera&tbo=d&channel=suggest&psj=1&psj=1&psj=1&psj=1&ei=ePEEUYLnCIXKsgaSkoDIDw&start=20&sa=N&bav=on.2,or.r_gc.r_pw.r_qf.&bvm=bv.41524429,d.bGE&fp=494e5638b67c89c&biw=991&bih=645

آموزش زیر هم بررسی کنید:
http://www.dur.ac.uk/resources/its/info/guides/39Excel2003Macros.pdf

سوالتون در همین تاپیک مطرح کنین تا با کمک دوستان حل بشه

موفق باشید


سلام دوست عزیز
واقعا از شما ممنونم
و این لطف رو کردید و وقت گذاشتید و برای بنده این نمونه ها رو در آوردید

باید بگم که دوست عزیزم (M.safa) مشکل بنده رو کاملا حل کرد و در جواب نهایی هستم و به جواب کامل رسیدم حتما هم سوالم رو مطرح میکنم و هم جوابی که دوست عزیزم زحمتش رو کشیدن که شاید بدرد دیگر دوستانم هم بخوره

saiid_pakan
یک شنبه 08 بهمن 1391, 14:23 عصر
دوستان عزیز همونطور که گفتم دوست عزیزم (M.safa) مشکلاتم رو حل کرد و واقعا بهم کمک کرد
حالا میخوام مشکلم رو کامل توضیح بدم تا دیگر دوستان هم در جریان باشن و اگر کسی نیاز به این کد داشت بتونه ازش استفاده کنه

سوال بنده:
من یک جدول دارم که شامل 6001 تا ستون و 3000 هزارتا سطر میباشه
و ستون اول نام شرکت که مهم نیست
و از ستون دوم به بعد تا 6001 دو به دو با هم دیگه مشترک هستن (دو به دو یعنی ستون اول نام و ستن دوم نام خانوادگی هست) که همین دو تا ستون تو 6001 ستون ، دو به دو با هم نوشته شده
و به خاظر اسکرول زیادی که میخوره میخوام این 6000 تا ستون بشه سه تا ستون : نام شرکت - نام - نام خانوادگی
که نام شرکت یکی هست ولی دو ستون دیگه باید دو به دو برداشته بشه و زیر هم نوشته بشه

جواب دوست عزیزم (M.safa):
Private Sub Worksheet_Activate()
Dim n,i,j As Long
n=1
For i = 1 To 3000
for j=2 to 6001 step 2
sheet2.cells(n,1).value =sheet1.cells(i,1).value'compony name
sheet2.cells(n,2).value=sheet1.cells(i,j).value'n ame
sheet2.cells(n,3).value=sheet2.cells(i,j+1).value' last name
n=n+1'next row of sheet2
doevents ' response to other events
next
next
End Sub