چون در vlookup فقط به اولین ایتم که برسه همون رو نشون میده.باید اطلاعات مشابه رو متمایز کنید از هم
و نیاز به سل های کمکی دارید.
با کمک ارایه ها این کارو کردم.خیلی راحت تره
ببینید اگر کمکتون نمی کنه.با همون vlookup انجامش بدم
سلام
تشکر از خانم خاکزاد بابت جواب یک پیشنهاد به کل دوستان دارم لطفا فایل های نمونه ای که قرار میدید نام مناسبی هم براش در نظر بگیرید تا طبقه بندی و ترتیب مناسبی به فایل های دانلود شده بشه داد ، با تشکر فراوان
یه سوال مجدد
من به یه مشکل جدید برخورد کردم که خیلی مهمه:
با توجه به راهنمایی دوستان و استفاده از دستوراتی مانند vlookup و sumif یک نیمچه برنامه ای نوشتم که در اون اطلاعات فاکتور رو وارد میکنم و مشخصاتش نیز از اطلاعاتی که قبلا وارد کردم استخراج میشه و در سلول های مربوطه قرار میگیره.
تا اینجا هیچ مشکلی وجود ندارده و همه چیز به خوبی انجام میشه، اما در بعضی از جاها (مثلا قیمت محصول داخل فاکتور) که قیمت از شیت مربوط به لیست قیمت و تعداد درخواستی محاسبه شده و جلوی هر قلم قرار گرفته، اما اگه من مثلا چند وقت دیگه قیمت ها رو تغییر بدم (افزارش یا کاهش لیست قیمت اصلی)، قرار نیست که همه فاکتور هایی که قبلا زدم قیمتشون تغییر کنه و باید همون قیمت اون روزی که ثبت شده بود باقی بمونه و فاکتور های جدید از این به بعد با قیمت جدید ثبت بشه اما با وضع فعلی برنامه من، با تغییر لیست قیمت، کل حسابام به هم میریزه، مگه نه؟
سلام
پاسخ این سوال شما با vba امکان پذیره پیرو اون سوالی که پرسیده شد(البته فرمی که اشاره کرده بودید نبود به دلیل اینکه با فرمت xlsm ذخیره نکرده بودید) میتونید به جواب برسید همونطور که گفتم تو تالار سوال رو مطرح کنید
[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]
دوستان، یه فایل اکسل گذاشتم مشابه همون فایلی که تو تاپیک در موردش بحث کردیم و همه دوستان کلی زحمت کشیدید و راهنمایی کردید.
من میخوام یه حسابداری ساده بنویسم و یه فرم داشته باشم که فاکتورها رو داخلش وارد کنم و این فرم اطلاعات رو به سلول های مربوطه انتقال بده و یک سری اعمال جمع و تفریق رو همزمان با اضافه کردن هر اطلاعاتی رو سلول های دیگه انجام بده.
فرم رو در شیت "فروش" با کلیک بر روی دکمه مربوطه ساختم (اما فقط یک فرم ظاهری هست و هیچ کدی توش وجود نداره)، میخوام شما چند تا زحمت بکشی برام:
1- به محض باز کردن فرم، اطلاعات از شیت "فروش" و ستون "شماره فاکتور" است---اج بشه و آ---ین شماره فاکتوری که دفعه قبل ثبت شده رو به اضافه 1 بکنه و در تکس باکس "شماره فاکتور" داخل فرم قرار بده.
2- با وارد کردن "کد مشتری" یا "نام مشتری" در تکس باکس های فرم عدد یا نام معادل اون در تکس باکس بعدی قرار بگیره (مثلا اگر کد مشتری وارد شد، خودش نام رو در تکس باکس مربوطه قرار بده و یا بلعکس) که این اطلاعات در شیت "اشخاص" و در ستون A و B قرار داره و قبلا وارد شده.
3- در فرم داخل فورم لازمه که به تعداد اقلام هر فاکتور یک ردیف ثبت بشه و با انتخاب نام محصول از کومبوباکس مربوطه که اطلاعاتش رو از شیت "محصولات" و ستون "نام محصول" دریافت میکنه و توسط کاربر قابل انتخابه، قیمت محصول نیز در تکس باکس مربوطه از همون شیت است---اج بشه و قرار بگیره و با توجه به تعداد و درصد وارد شده، قیمت نهایی نیز محاسبه بشه و در تکس باکس های مربوطه نمایش داده بشه. با هر باز زدن کلید "اضافه به لیست" یک ردیف از این اطلاعات به لیست باکس اضافه بشه تا کل اقلام یک فاکتور به ترتیب در لیست باکس قرار بگیره.
4- در انتها میخوام با زدن کلید "ثبت"، کلیه اطلاعات داخل لیست باکس به شیت "فروش" اضافه بشه (یعنی هر قلم جنس در یک ردیف از شیت قرار بگیره و به تعداد همه اقلام یک فاکتور ردیف هایی پر بشه که همگی شماره فاکتور مورد نظر رو داشته باشن)
لطفا در صورت امکان من رو راهنمایی کنید، واقعیت برنامه نویسی اینه که برای شروع تا تعدادی مثال آدم نبینه نمیتونه اصل داستان رو درک کنه، من قبلا برنامه نویسی کار کردم c# ، میکروبیسیک، میکروسی pic و... اما تو بیسیک اکسل اصل مشکلم در برقراری ارتباط با فرم و سلول های اکسل هست که دستوراتش رو نمیدونم.
راستی چطور میشه یک دستور sumif رو با 2 شرط اجرا کرد و شرط دوم رو یک رنج یا ستون در نظر بگیریم تا در صورت برقراری شرط اول، شرط دوم بررسی بشه. شرط دوم رو میخوام بین دو عدد در نظر بگیرم (مثلا اگر هر یک از سلول های ستون انتخاب شده شرط دوم عددی مابین 1654 تا 5200 بود، شرط اول رو در مورد اون ردیف انجام بده)
سلام
از طریق ترکیب تابع if و sumif و با استفاده از فرمول های آرایه ای امکان پذیره ، اگه نتونستی یه فایل بذار برات درس کنم
فرمول های آرایه ای رو تا حالا باهاشون کار نکردم، ممنون
این لینک فایل
http://s3.picofile.com/file/7365136234/t....xlsx.html
تو شیت "گزارش فروش" مخوام مجموع تعداد فروخته شده (از شیت "فروش") از یک محصول در یک بازه زمانی خاص (مثلا 1/1/91 تا 31/1/91) را مشخص کنم (بدون استفاده از ابزار فیلتر)
دو تا سوال دیگه:
تو vba با چه دستوری میتونیم
1- تعداد ردیف های یک شیت رو که حاوی اطلاعات هست بشمیریم
2- و با چه دستوری میتونیم به اولین ردیف خالی (بعد از آخرین رکورد) دسترسی پیدا کنیم (بدون این که بخوایم تعداد ردیف ها رو بشمریم)؟؟
با این فرمان می توان به اولین خانه در ستون A که خالی است ( با شرایط ذکر شده در قسمت بالا) دسترسی داشته باشیم و اعمال تغییرات را انجام دهیم
لازم به ذکر است در صورت تمایل برای رسیدن به خانه خالی دیگر در ستون دیگر ( در اینجا ستون A) کافی است به جای a1 از سلول های دیگر در ستون های دیگر استفاده شود
در صورت مبهم بودن عرض بنده بفرمائید تا توضیح بیشتر ارائه شود
در یادگیری سیر نشوید :idea:
برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
[URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]
با این فرمان می توان به اولین خانه در ستون A که خالی است ( با شرایط ذکر شده در قسمت بالا) دسترسی داشته باشیم و اعمال تغییرات را انجام دهیم
لازم به ذکر است در صورت تمایل برای رسیدن به خانه خالی دیگر در ستون دیگر ( در اینجا ستون A) کافی است به جای a1 از سلول های دیگر در ستون های دیگر استفاده شود
در صورت مبهم بودن عرض بنده بفرمائید تا توضیح بیشتر ارائه شود
با تشکر از شما:
در دستور دوم عدد صفر در آخر دستور برای چه منظوریه؟ و آیا اگر از "sheet1" استفاده نکنیم تو دستور، خودش شیت جاری رو در نظر میگیره؟
لطفا اگه امکان داره دستورا رو بین "" قرار بدید، آخه ترتیبش بهم خورده و گیج کنندس،
مقادیر داخل پرانتز دوم، آرگومان های فرمان Offset می باشند ( این فرمان جهت انتخاب سلول ها با فاصله نسبی از یک سلول استفاده می شود) که قسمت اول تعداد سطر ها ( در صورت مثبت بودن به طرف پایین سلول مرجع) و قسمت دوم تعداد ستون ها ( در صورت مثبت بودن به سمت راست سلول مرجع اشاره دارد) نسبت به سلول مرجع می باشند.
در این فرمان تعداد ستون ها را برابر صفر قرار داده تا در همان ستون قرار گیرد (A:A)
بله، در مرجع دهی وی بی در صورتیکه مراجع والد یک شیء مشخص نباشد، به صورت پیش فرض مراجع جاری در نظر گرفته می شود
در یادگیری سیر نشوید :idea:
برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
[URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]
این هم جواب سوال اول
با استفاده از SUMIFS این جواب رو نوشتم.
اگر منظورتون چیز دیگه ای هست.در خدمتم.
[hr]
نوشته اصلی توسط vatanparast
نوشته اصلی توسط khakzad
چون در vlookup فقط به اولین ایتم که برسه همون رو نشون میده.باید اطلاعات مشابه رو متمایز کنید از هم
و نیاز به سل های کمکی دارید.
با کمک ارایه ها این کارو کردم.خیلی راحت تره
ببینید اگر کمکتون نمی کنه.با همون vlookup انجامش بدم
سلام
تشکر از خانم خاکزاد بابت جواب یک پیشنهاد به کل دوستان دارم لطفا فایل های نمونه ای که قرار میدید نام مناسبی هم براش در نظر بگیرید تا طبقه بندی و ترتیب مناسبی به فایل های دانلود شده بشه داد ، با تشکر فراوان
سلام
چشم
حتما.
همیشه مستندسازی مهم هست.ممنون بابت تذکر
این هم جواب سوال اول
با استفاده از SUMIFS این جواب رو نوشتم.
اگر منظورتون چیز دیگه ای هست.در خدمتم.
ممنون خانم خاکزاد، دقیقا حل شد، من خودم به فرمولی که شما نوشته بودید (sumifs) یه شرط سوم هم اضافه کردم که غیر از بازه زمانی مشخص شده، نوع محصول هم جداسازی بشه.
فقط علامت & تو دو شرطی که بزرگترمساوی و کوچکترمساوی رو چک میکنن کارش چیه؟
خواهش می کنم.
وقتی داخل فرمول از متن یا علامتی می خوایم استفاده کنیم.باید حتما داخل "" باشه.در غیر اینصورت ارور میده.و برای اینکه ربطش بدیم به سایر اجزای فرمول از & استفاده می کنیم.
مثلا اگر شما علامت های بزرگهتر و کوچکتر رو داخل یک سل بنویسید و criteria رو به اونها ارجاع بدید.نیازی به اینها نیس.چون بصورت غیرمستقیم از داخل سل ها خونده میشه.
اگر توضیحات کافی نیست، بگید چندتا مثال بذارم با اونها توضیح بدم
[CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:
خواهش می کنم.
وقتی داخل فرمول از متن یا علامتی می خوایم استفاده کنیم.باید حتما داخل "" باشه.در غیر اینصورت ارور میده.و برای اینکه ربطش بدیم به سایر اجزای فرمول از & استفاده می کنیم.
مثلا اگر شما علامت های بزرگهتر و کوچکتر رو داخل یک سل بنویسید و criteria رو به اونها ارجاع بدید.نیازی به اینها نیس.چون بصورت غیرمستقیم از داخل سل ها خونده میشه.
اگر توضیحات کافی نیست، بگید چندتا مثال بذارم با اونها توضیح بدم
توضیح کافی بود و متوجه شدم،
سوال جدیدم که پیش اومده:
این روش فرمولی که شما پیشنهاد دادی آیا تاریخ ها رو با فرمت تاریخ شناخته؟ یا مثل یه عدد معمولی در نظر گرفته؟ آیا میشه طوری فرمول رو نوشت که تاریخ های رنج مربوطه رو با فرمت dateبشناسه تا اگه اون وسطا یه تاریخی با 1391 نوشته شده بود و بقیه با 91 خودش تشخیص بده...؟
کامنت