03 آوریل کار با توابع تاریخ شمسی در اکسل
سلام به همه دوستان
امیدوارم سال جدید رو به خوبی شروع کرده باشید و هرچه سال جلوتر میره اتفاقهای خوب بهتری براتون بیافته. در این مطلب میخوام یکی از روشهای استفاده از تاریخ شمسی در اکسل رو براتون معرفی کنم. نحوه استفاده از تاریخ شمسی در اکسل برای خیلی از دوستان سوال هست. برای اینکار راه های زیادی داره که هر کدوم مزایا و معایب خودشون رو دارند. طبیعیه که ممکنه راه های بهتری برای کار با تاریخ شمسی در اکسل وجود داشته باشه. در صورتی که راه بهتری میشناسید خوشحال میشم در نظرات عنوان کنید تا سایر دوستان هم استفاده کنند.
خب بریم سراغ اصل مطلب. ابتدا یک شیت جدید باز کنید. حالا مثل تصویر زیر روی Sheet1 راست کلیک کنید و از منوی باز شده گزینه View Code رو انتخاب کنید.
با انتخاب این گزینه پنجره Visual Basic for Applications باز میشه که از اون میتونیم برای کدنویسی VBA در اکسل استفاده کنیم. در اینجا میتونیم کدهای مربوط به کار با تاریخ شمسی در اکسل رو به فایل اکسل خودمون اضافه کنیم.
برای اینکار ابتدا مثل تصویر زیر از منوی Insert گزینه Module رو انتخاب کنید.
با اینکار یک Module به فایل اکسل اضافه میشه که ما کدهای مربوط به تاریخ شمسی رو در اون قرار میدیم. برای اینکه کدها رو داخل ماژولی که ایجاد کردیم قرار بدیم از بخش Project Explorer رو Module1 دوبار کلیک میکنیم.
حالا فایل مربوط به تاریخ شمسی رو از اینجا دانلود کنید و فایل متنی داخل اون رو در notepad باز کنید و تمام کدهای داخلش رو در پنجره Module1 کپی کنید. با اینکار توابع مربوط به کار با تاریخ شمسی در اکسل به فایل ما اضافه شدند و میتونیم از اونها استفاده کنیم.الان پنجره Visual Basic for Applications شما باید مثل تصویر زیر باشه.
اما قبل از استفاده از این توابع بهتره فایلمون رو به صورت صحیح ذخیره کنیم. همونطور که میدونید پسوندی که اکسل برای ذخیره فایل ها به صورت پیش فرض از اون استفاده میکنه در نسخه های قدیمی تر xls و در نسخه های جدیدتر xlsx هست. این پسوندها قابلیت ذخیره سازی کدهای VBA رو ندارند. به این معنی که اگر شما فایلتون رو با این پسوندها دخیره کنید کدهای VBA که به فایلتون اضافه کردید ذخیره نمیشن و دفعه بعد که فایلتون رو باز کنید تمام کدها از فایلتون حذف شده و عملاً فایل شما به درستی کار نمیکنه. برای اینکه این مشکل پیش نیاد باید فایلمون رو با یکی از پسوندهای xlsm یا xlsb ذخیره کنیم. در خصوص تفاوت این دو پسوند بعداً در یک مطلب جداگانه توضیح میدم. برای اینکه فایلمون را با پسوند xlsm ذخیره کنیم مثل تصویر زیر در پنجره Save As نوع پسوند رو در قسمت Save As Type برابر (Excel Macro-Enabled Workbook (*.xlsm قرار میدیم.
اگر تمام مراحل رو به درستی انجام داده باشید باید به توابع کار با تاریخ شمسی دسترسی داشته باشید. برای آزمایش این مساله روی یکی از سلول ها شروع به فرمولنویسی کنید. اگر با نوشتن عبارت sh= در فرمول سلول تایع shamsi مثل تصویر زیر در گزینه ها نمایش داده شد، توابع شمسی به درستی در فایل اکسل شما فعال شدند و شما میتونید از اونها استفاده کنید.
رفع مشکل ؟ شدن کاراکترهای فارسی در VBA: اگر کاراکترهای فارسی شما در پنجره Visual Basic Editor به صورت ؟؟؟ نمایش داده میشه کافیه فایل shamsi-date.txt رو به جای نوت پد با Wordpad باز کنید و پس از کپی کردن کدها از داخل Wordpad اونها رو داخل visual basic editor پیست کنید.
حالا ببینیم با اضافه کردن این کدها به فایل اکسل خودمون چه توابع شمسی به اکسل اضافه میشن و چطور میتونیم از اونها استفاده کنیم.
تابع Shamsi: این تابع تاریخ جاری سیستم رو تبدیل به تاریخ شمسی میکنه.
مثال: ()Shamsi= نتیجه: 13940114
تابع Rooz: این تابع روز مربوط به یک تاریخ مشخص رو برمیگردونه
مثال: (13940114)Rooz= نتیجه: 14
تابع Mah: این تابع ماه مربوط به یک تاریخ مشخص رو برمیگردونه
مثال: (13940114)Mah= نتیجه: 1
تابع Sal: این تابع سال مربوط به یک تاریخ مشخص رو برمیگردونه
مثال: (13940114)Sal= نتیجه: 1394
تابع Kabiseh: این تابع مشخص میکنه که آیا سال موردنظر کبیسه هست یانه. در صورتی که سال موردنظر کبیسه باشه عدد 1 و در غیر اینصورت عدد 0 به عنوان نتیجه تابع برگردونده میشه.
مثال: (1394)Kabiseh= نتیجه: 0
تابع ValidDate: این تابع تاریخ شمسی که به اون داده بشه رو بررسی میکنه و در صورتی که تاریخ داده شده معتبر و درست باشه true و در غیر اینصورت false رو برمیگردونه.
مثال: (13940114)ValidDate= نتیجه: true مثال: (13940134)validdate= نتیجه: false
تابع AddDay: این تابع تعداد روز مشخصی رو به یک تاریخ اضافه میکنه.
مثال: (7;13940114)AddDay= نتیجه: 13940121
تابع DayWeek: این تابع نام روز تاریخ شمسی که به اون داده بشه رو برمیگردونه.
مثال: (13940114)DayWeek= نتیجه: جمعه
تابع Dat: این تابع تاریخ شمسی رو به همراه روز هفته برمیگردونه
مثال: ()Dat= نتیجه: جمعه 1394/1/14
تابع Diff: این تابع اختلاف روزهای بین دو تاریخ شمسی رو نشون میده.
مثال: (13940114;13940107)Diff= نتیجه: 7
تابع DayWeekNo: این تابع عدد مربوط به روز هفته یک تاریخ شمسی رو برمیگردونه. به عنوان مثال اگر تاریخ موردنظر روز شنبه باشه عدد 0، در صورتی که یکشنبه باشه عدد 1 و …
مثال: (13940110)DayWeekNo= نتیجه: 2
تابع MahName: این تابع عدد مربوط به یک ماه رو دریافت میکنه و نام ماه مربوط به اون رو برمیگردونه.
مثال: (2)MahName= نتیجه: اردیبهشت
تابع SalMah: این تابع شش رقم اول یک تاریخ شمسی رو که نشون دهنده سال و ماه اون هست رو برمیگردونه.
مثال: (13941115)SalMah= نتیجه: 139411
تابع MahDays: این تابع تعداد روزهای یک ماه رو برمیگردونه.
مثال: (1;1394)MahDays= نتیجه: 31
تابع Make_Date: این تابع سال، ماه و روز تاریخ شمسی رو با علامت “/” از هم دیگه جدا میکنه.
مثال: (13940114)Make_Date= نتیجه: 1394/01/14
تابع NextMah: این تابع مقدار سال و ماه رو به عنوان ورودی میگیره و ماه بعد رو به عنوان نتیجه برمیگردونه.
مثال: (139412)NextMah= نتیجه: 139501
تابع PreviousMah: این تابع مقدار سال و ماه رو به عنوان ورودی میگیره و ماه قبل رو به عنوان نتیجه برمیگردونه.
مثال: (139407)NextMah= نتیجه: 139406
تابع SubtractDay: این تابع تعداد روز مشخصی رو از یک تاریخ شمسی کم میکنه.
مثال: (6;13940718)SubtractDay= نتیجه: 13940712
تابع Firstday: این تابع یک سال و ماه شمسی رو میگیره و شماره اولین روز اوم ماه رو برمیگردونه. (برای شنبه عدد 0، برای یکشنبه عدد 1 و …)
مثال: (6;1394)Firstday= نتیجه: 1 (یکشنبه)
امیدوارم از این مطلب استفاده برده باشید. سال نو مبارک.
پینوشت: کدهایی که در این آموزش ازشون استفاده کردم نوشتهی من نیست. اگر کسی میدونه که این کدها اجازه انتشار نداره لطفاً به من اطلاع بدید تا این مطلب رو حذف کنم.
سارا
Posted at 19:50h, 24 مارسسلام وقت بخیر
من میخواستم مثلا 2 ماه و 13 روز را به تاریه 01/02/1399 اضافه کنم لطفا راهنمایی بفرمایید فرمولش در اکسل چیست؟
مهدی
Posted at 20:15h, 17 ژانویهسلام وقت بخیر مهندس
آیا در محاسبات افزونه سال های کبیسه لحاظ میشه؟!
تشکر از زحمات شما
امیر
Posted at 22:57h, 03 ژانویهسلام من اقیس2010 دارم
الان مراحل نصب رو انجام دادم فقط روی فایل اکسلی که ماکرو هست کار میکنه روی هیچ اکسل دیگه ای کار نمیکنه چکارکنم
امیر
Posted at 22:59h, 03 ژانویههمچنین فایل با فرمت ماکرو هست
یاسین اسماعیل پور
Posted at 11:10h, 07 ژانویهسلام امیر جان. با چه پیغام خطایی مواجه میشید؟ ممکنه فایلهایی که میخواید باز کنید مربوط به نسخه های جدیدتر اکسل باشه
رضا نقوی
Posted at 10:55h, 07 ژوئنسلام
من میخوام برای هر خانه یک تاریخ اختصاص بدم که وقتی بیش از دو روز به اون تاریخ مونده متن تاریخ اون خانه سبز نشون بده ، از دو روز تا تاریخ ثبت شده زرد و وقتی از اون تاریخ گذشت، متن تاریخ رو قرمز نشون بده.
میشه راهنماییم کنید ممنون میشم.
صبغت الله کریمی
Posted at 09:25h, 06 آوریلسلام واحترامات!
ماه فعلی را چگونه پیداکنیم که ماه فعلی چی ماه است.
اصغر
Posted at 22:12h, 18 فوریهسلام و عرض خسته نباشید
من می خواستم تو یه سلول تاریخ تولدم رو بنویسم و در سلول بعدی خود اکسل سن منو محاسبه کنه .نمی دونم چه تابعی بنویسم راهنماییم کنید
محمد
Posted at 11:19h, 20 ژانویهسلام
محوه وارد کردن این تابع به افیس 2016 رو هم میشه توضیح بدید
این قسمت رو (((با انتخاب این گزینه پنجره Visual Basic for Applications باز میشه که از اون میتونیم برای کدنویسی VBA در اکسل استفاده کنیم. در اینجا میتونیم کدهای مربوط به کار با تاریخ شمسی در اکسل رو به فایل اکسل خودمون اضافه کنیم.
برای اینکار ابتدا مثل تصویر زیر از منوی Insert گزینه Module رو انتخاب کنید.))) نمیتونم پیدا کنم که کد رو وارد کنم
ممنون
محمد قاسم خانیکی
Posted at 11:31h, 20 ژانویهسلام محمد جان
روی نام شیت مثلا” Sheet1 کلیک راست کن
بعدش از منوی باز شده گزینه ی View Code رو انتخاب کن
بایستی محیط VBA برات باز بشه
و بتونی ادامه مراحل رو انجام بدی
بازم اگه به مشکلی خوردی ، با من تماس بگیر تا راهنماییت کنم
موفق باشی – خانیکی
mansour
Posted at 12:42h, 05 اکتبرسلام و وقت بخیر :
ممنون بابت اطلاعات مفیدتون من یه فایل تاریخ داشتم که یا استفاده ار کد نویسی شما بین تاریخ ها / انداختم ولی الان نمیتونم تاریخ شمسی رو به میلادی تبدیل کنم لطفا راهکار ارائه فرمایید
محمد قاسم خانیکی
Posted at 09:55h, 06 اکتبرسلام به شما
یک سری هم به وبلاگ بنده بزنید
در آنجا فایلی را برای دانلود گذاشته ام که شامل “توابع کاربردی تاریخ شمسی” است
که این توابع با ماکرو نویسی تهیه شده اند
از این ماکرو نیز می توانید در برنامه های خودتان استفاده کنید
امیدوارم که برایتان مفید باشد
در صورت بروز مشکل یا پرسش و ابهامی با کلیک روی نام کامل من در بالا ، با من تماس بگیرید
موفق باشید – خانیکی
mohsen
Posted at 21:48h, 19 سپتامبربا سلام و عرض خسته نباشید بابت آموزش های قشنگتون.
من یه فایل رو با اکسل 2007 شمسی ساز رو طبق آموزش شما گذاشتم و قبل از save as توی منوی کشویی می آورد اما به محض اینکه روی منوی مدنظر شما save as کردم یه پیام error به من داد و فایل رو بدون شمس ساز به من تحویل داد. پیام error رو هم پایین براتون مینویسم ممنون میشم مشکل منو حل بفرمایید.
privacy warning: this document contains macros activex controls xml expansion pack in for mation or web components
محمد قاسم خانیکی
Posted at 23:21h, 19 سپتامبرسلام آقا محسن
چون اون فایل دارای ماکرونویسی بوده
و اگه اون فایل ناشناخته و غیر ایمن باشه
این احتمال وجود داره که بتونه برای سیستم تون مشکل ایجاد کنه
جهت اطمینان از امنیت اون فایل ، به شما اخطار میده
و اگه شما ایمن بودن اون رو تایید نکنین ، ماکرو رو حذف میکنه
که احتمالا” شما اون رو تایید نکردین و حذف شده
دوباره فایل رو Save Az کنید ، اما ایمن بودنش رو تایید کنین تا مشکل تون حل بشه
اگه بازم مشکلی داشتین ، روی نام کاملم در بالا کلیک کنین
موفق باشین – خانیکی
جاسبر
Posted at 17:32h, 28 آگوستسلام خسته نباشید
خیلی از این توابع ارور value میدن میشه راهنمایی کنید باید چیکار کنم
من فقط از دو تابع Shamsi وdat تونستم استفاده کنم که داخل تابع datهم مجور شدم روز هفته رو حذف کنم چون نمایش نمیداد و به جاش “؟”میذاشت
ممنون
majid
Posted at 16:40h, 25 آگوستبا سلام و تشکر
لطفا تاریخ هایی که بصورت 99/05/02 هستند و عد 13 در ابتدای سال ندارند را هم کاش در فرمت برنامه تان داشتید که فرمول های آنها را هم بتوانیم استفاده کنیم
hadi
Posted at 14:43h, 23 آگوستسلام وقت بخیر
ببخشید من فایل تاریخ و روزهای هفته رو میخواستم برای ماکرو نویسی
چطوری تهیه کنم
خیلی ممنون
محمد قاسم خانیکی
Posted at 22:27h, 23 آگوستسلام آقا هادی
شما می توانید با کلیک بر روی نام کامل من در بالا ، به وبلاگ من بروید
اولین فایلی که برای دانلود گذاشتم “توابع کاربردی تاریخ شمسی در اکسل” هست
که این توابع رو با ماکرونویسی در اکسل ایجاد کرده ام
و شما می تونید به راحتی به ماکروی نوشته شده دسترسی داشته باشید و ازش الگو بگیرید
و برای استفاده از اون توابع ، اون ماکرو رو در فایل های اکسل خودتون کپی کنید
موفق باشید – خانیکی
عباس معتمدی
Posted at 12:44h, 16 آگوستبا سلام و عرض ادب و احترام
تشکر میکنم از محبتی که فرمودید و اطلاعات خوبی رو عرضه کردید.
من در اکسل فایلی رو دارم که در اون جدولی با تاریخ هایی به فاصله یکماه قرار گرفته . چگونه میتوانم سلولهایی که مربوط به تاریخ است رو از میلادی به شمسی تبدیل کنم مثلا تاریخ 1399/5/25 به 1999/5/25 تبدیل نشه و همینطور پشت سر هم تاریخها به شمسی باشه یعنی سال 1400 ؛ 1400 باشه نه 2000 . همینطور که میدانید ماههای میلادی هم از لحاظ تعداد روز و هم از جایگیری در فصلها متفاوت هست . ممنون میشم اگر یاری فرمایید .
فایلی که اشاره کردم مربوط به یک قرض الحسنه ساده در جمع محلی ، و هیئتی است. حتماً اجر اخروی نیز دارد.
محمد
Posted at 15:59h, 25 جولایسلام روز بخیر
تابع next mah درست کار نمیکنه
مهرداد
Posted at 13:47h, 27 جولایباسلام و تشکر
اگه شماره هفته رو هم در فرمول اضافه کنید خیلی عالی میشه مثلن تاریخ ۱۳۹۹۰۵۰۶ رو بدیم خروجی بده ۱۹ یعنی هفته نوزدهم سال .
پرویز
Posted at 00:07h, 26 میسلام ممنون و متشکر
یاسین اسماعیل پور
Posted at 03:38h, 28 میسلام پرویز جان. خواهش میکنم
خ.توسلی
Posted at 13:44h, 28 آوریلسلام جناب آقای اسماعیل پور عزیز
ضمن تشکر از برنامه کاریردی ارائه شده .علیرغم اینکه فایل برنامه را با پسوند
(Excel Macro-Enabled Workbook (*.xlsm ذخیره کرده ام . برنامه فقط در صفحه اولیه کاربرد داره وبا بستن اون .برنامه در صفحات جدید قابل استفاده نیست [توضیحا در اکسل 2010 مورد استفاده من در باکس انتخاب پسوند فقط Excel Macro-Enabled Workbook قید شده و(*.xlsm) موجود نمیباشد].
لطفا راهنمائی فرمایید
با تشکر
محمد قاسم خانیکی
Posted at 05:46h, 29 آوریلبا سلام بر سرکار خانم توسلی
جناب اسماعیل پور خیلی زحمت میکشن ، لطف شون به همه زیاده و وقت شون کم !
اگر توابع بالا توی یکی از شیت ها کار میکنه ، پس خیالتون راحت باشه که فرمت فایل تون درسته
فقط تنها اشتباهی که کردید ، بجای اینکه ماژول جدید ایجاد کنید و برنامه رو داخل اون کپی کنید ، در قسمت مربوط به فقط یک شیت کپی کرده اید !
اگر بازم مشکل تون حل نشد ، فایل تون رو برام بفرستید تا بررسیش کنم
موفق باشید – خانیکی
( با کلیک بر روی نام کاملم در بالا میتونید به من دسترسی داشته باشید )
Ahmad
Posted at 22:44h, 20 آوریلسلام دوست عزیز من این کارو کردم خیلی خوب کار میکنه و تاریخ هر روز رو در کنار ستون هایی که نیازه مینویسه . اما مشکل اینه وقتی در سیستم های دیگه فایل ران میشه همه تاریخ ها رو به اون روزی که در اون سیستم ران شده تبدیل میکنه. لطفا راهنمایی کنید.
محمد قاسم خانیکی
Posted at 04:40h, 21 آوریلسلامت باشین
اگه شما در فرمول تون مستقیما” و یا غیر مستقیم از تابع Today استفاده کرده باشید ، قطعا” با این مشکل مواجه میشید
برای حل این مشکل دوتا راه حل وجود داره :
اول : خودتون بصورت دستی تاریخ رو در سلول مربوطه تایپ کنید
دوم : ماکرویی نوشته بشه که بصورت خودکار ، کار فوق رو انجام بده
موفق باشین
سینا
Posted at 00:01h, 05 آوریلسلام دوست عزیز
با تشکر تابع AddDay را اجرا نمی کند لطفا راهنمایی کنید
سینا
Posted at 11:14h, 05 آوریلسلام علت رایافتمرتفاوت کاراکتر در کیبورد بود سپاس
یاسین اسماعیل پور
Posted at 11:34h, 05 آوریلخواهش میکنم. خداروشکر که مشلتون حل شد
یاسین اسماعیل پور
Posted at 11:34h, 05 آوریلسلام سینا جان. فقط مشکلتون با تابع addDay هست یا بقیه توابع هم کار نمیکنند؟
mohsen
Posted at 17:39h, 23 مارسبا سلام
من میخوام یه4000 نفره تاریخ به صورت زیر نوشته شده به صورت تاریخ تولد بنویسم چکار باید انجام بدم ممنون میشم سریع کمکم کنید .تشکر
4000 نفره به صورت زیر
53 سال و 2 ماه و 3 روز
به تولد شمسی تبدیل شود
لطفا ایمیل کنید
حسین
Posted at 10:53h, 03 مارسسلام
تاریخ های شمسی در یکی از فایل های Excel به جای راست به چپ بودن چپ به راست هست تعداد موارد هم خیلی بالاست و سورت کردن تاریخ ها رو با مشکل مواجه میکنه و بر اساس روز سورت میکنه به جای این که بر اساس سال سورت کنه. چگونه این تاریخ رو میشه با یه دستور چپ به راست کرد.
ممنون
mostafa
Posted at 23:55h, 19 فوریهدست شما درد نکنه
اجرتون با خدا
فاطمه
Posted at 13:29h, 23 دسامبرسلام من فایلی دارم که تاریخ ها از فروردین به اسفند مرتب شده ولی من میخوام از اسفند به فروردین مرتب بشه، چیکار باید بکنم؟
یاسین اسماعیل پور
Posted at 11:33h, 24 دسامبرسلام. سورتتون رو از ascending به descending تغییر بدید
علی اصغر
Posted at 12:02h, 22 سپتامبرسلام بسیار ممنون از اموزشتون
من وقتی فایل رو ذخیره میکنم برای اولین اجرا درست جواب میده
ولی وقتی فایل روز دیگه باز میشه تاریخ بروز نمیشه و تاریخ گذشته رو نشون میده
amir
Posted at 12:31h, 12 نوامبرسلام وقت بخیر
من از ابتدا فکر کنم مشکل دارم
میخوام برم داخل view code که برم وارد تنظیمات بشم این دکمه برام غیر فعاله!!
امکانش هست دلیلش رو بگید لطفا؟؟؟
محمد رضا
Posted at 18:03h, 23 اکتبرسلام به شما استاد بزرگوار که بی چشم داشت مطالب ناب را در اختیار دانشجویان قرار می دهید ، خدا قوت .
استاد پیشنهادی که داشتم در صورت امکان آموزش ماژول تاریخ شمسی و این که اصلا چه جوری پیاده سازی شده است را آموزش بفرمایید . حتی اگر مبلغی را هم بفرمایید واقعا منت گذاشته اید بر دانشجویان.
متشکرم
سمانه
Posted at 08:42h, 17 اکتبربا سلام و تشکر از شما مطلب مفید و کاربردی بود. ممنون از توضیحات خوبتون
مریم
Posted at 13:25h, 13 اکتبرسلام .چگونه اختلاف دوتاریخ شمسی راپیداکنم.که بین شان ممیزدارند
JAVAD
Posted at 10:09h, 23 جولایسلام
آقای یاسین اسماعیل پور فایل متنی به اشتباه با ANSI واسه بار اول ذخیره شده که کلمات را درست نشون نمیده .
یاسین اسماعیل پور
Posted at 15:10h, 27 جولایسلام. درست میفرمایید اصلاح شد
مجتبی رضایی
Posted at 14:49h, 06 مارسسلام .
من با استفاده از تابع m2s(today()) در یک سلول تاریخ روز گذاشتم.ولی هر وقت سند باز میکنم تاریخ صدور ببینم تاریخ تغییر میکنه به تاریخ روز و نمی دونم درج صدور فاکتور چه روزی بوده.
لطفا راهنمایی بفرمایید.
احسان
Posted at 22:51h, 05 مارسسلام و خسته نباشید
تاریخ بروز نمیشه
چیکار باید کرد
sonia
Posted at 15:32h, 17 فوریهسلام خسته نباشید
برای ایجاد یک تقویم باز شونده شمسی در اکسل باید چکار کرد؟
یعنی بشه تاریخ رو انتخاب کرد
سیدحسن
Posted at 12:56h, 24 ژانویهسلام. با تشکر و عرض پوزش؛ پیشنهاد می گردد در این ماژول، قسمت «ماه قبل» را به شرح ذیل اصلاح کنید تا تاریخ به صورت کامل و صحیح به یک ماه قبل برگردد:
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Function PreviousMah(ByVal F_Date As Long) As Long
If (F_Date Mod 10000) = 1 Then
PreviousMah = (Int(F_Date / 10000) – 1) * 10000 + 12
Else
PreviousMah = F_Date – 100
End If
End Function
__________________________________________
همچنین من برای خودم فرمول های «فصل قبل» و «سال قبل» را نیز به شرح زیر به ماژول اضافه کردم:
__________
Function PreviousFasl(ByVal F_Date As Long) As Long
‘اين تابع سه ماه از تاريخ موردنظر کم ميکند
If (F_Date Mod 10000) = 1 Then
PreviousFasl = (Int(F_Date / 10000) – 3) * 10000 + 12
Else
PreviousFasl = F_Date – 300
End If
End Function
________________________
Function PreviousSal(ByVal F_Date As Long) As Long
‘اين تابع يک سال از تاريخ موردنظر کم ميکند
PreviousSal = (F_Date – 10000)
End Function
وحید هادی
Posted at 20:47h, 06 دسامبرسلام
خسته نباشین
از یک تاریخ شمسی چند ماه رو چگونه کم کنیم ؟
یاسین اسماعیل پور
Posted at 11:29h, 08 دسامبرسلام
برای اینکار میتونید از تابع SubtractDay استفاده کنید.
رسول
Posted at 23:29h, 17 جولایسلام
خیلی عالی بود.فقط من یک فایل vba با excel 2010 نوشتم .ولی وقتی اون فایل را در سیستم دیگه ای با excel 2016کپی میکنم در Function Shamsi بع عبارت date در Dif = DateDiff(“d”, Miladi_mabna, Date) ارور میگیره .لطفا راهنماییم کنید.
دوست
Posted at 10:53h, 05 جولایسلام
خیلی عالی بود دستتون درد نکنه
رضا
Posted at 09:59h, 21 ژوئنسلام فوق العاده بود ممنون
سعید
Posted at 11:08h, 04 مارس*** بسیار بسیار عالی بود //// یه دنیا تشکر از زحمات شما عزیز ****
داود
Posted at 22:18h, 19 دسامبرسلام
من تاریخ رو به صورت 96/09/20 در سلول (h3) وارد اکسل 2010 میکنم بعد مثلا تاریخ 96/09/1 در سلول (i3) رو وارد میکنم بعد مثلا فرمول =h3-i3 رو میزنم ولی ارور میده و اختلاف دو تاریخ رو بهم نمیده باید تاریخ رو به شکل 960920 وارد کنم تا اختلاف رو بهم بده راه حلی هست که اختلاف رو با تاریخ اسلش (/)دار بهم بده
reza7748
Posted at 14:31h, 30 نوامبرسلام
بسیار خوب و کاربردی است
سپاسگذارم
فرزاد
Posted at 18:17h, 13 نوامبرسلام.من مشکلی که دارم وقتی مثلا میزنم 28/12/1396
و اونو اتو فیل میکنم میشه 29/12/96 بعد30/12/96 بعد31/12/96 بعد32/12/96 همینطور الی اخر تشخیص نمیده که وارد ماه و سال بعدی شدیم که بشه1/1/97 البته در تاریخ میلادی این مشکل نیست ممنون میشم کمک کنید.
مریم سلیمانی
Posted at 10:02h, 06 نوامبرسلام وقت بخیر
من به یک تابع نیازدارم که تاریخ شمسب رو بگیره و شماره هفته ماه مندرج در اون تاریخ رو بده، اگر امکان داره من رو راهنمایی کنید
حسنی
Posted at 10:45h, 29 اکتبربا سلام
خیلی خوب بود ، بسیار سپاسگزارم
مهدی
Posted at 14:00h, 25 اکتبربا سلام
چطور میتونم از یک تاریخ چند ماه رو کم کنم ممنون
kazem
Posted at 17:10h, 21 اکتبرسلام خیلی خوب بود فقط میشه بین روز ماه سال علامتی گذاشت مثلا / ممنون
پریچهر
Posted at 14:08h, 26 سپتامبرسلام، وقت بخیر
منم مثل خیلی از دوستان این مشکل رو دارم که وقتی از فایل اکسلم خارج میشم توابع کار نمیکنن.بعد که میرم تو قسمت ماژول 1 میبینم کدهایی که کپی کردم سرجاشون وجود دارند ولی وقتی مینویسم ()sh= تابع رونمیاره.به همون روش که فرمودید ذخیره کردم فایل اکسلمو.
چیکار کنم.البته متن فارسی توابع هم در notepad و wordpad یه جور عجیب غریبه
peyman
Posted at 00:13h, 21 سپتامبرسلام وقتتون بخیر
من میخوام یه فرمولی بنویسم که یه تاریخی رو وارد میکنیم خودش 7 روز بعد و 28 روز بعد و خودش حساب کنه
خواهش میکنم راهنماييم کنید
هادی
Posted at 23:00h, 12 سپتامبرسلام و ممنون از آموزشتون
تو نظرات خواندم که بچه ها گفتند تاریخ اتومات بروز میشه ولی برای من اتومات بروز نمیشه یعنی اکسل رو می بندم و باز میکنم به تاریخ جدید بروز نمیشه فقط هر وقت دستور رو فراخوانی میکنم تاریخ جدید رو نشان می دهد.
لطفا راهنماییم کنید.office2010
faranak
Posted at 12:28h, 01 سپتامبرسلام و وقت بخیر
بابت توضیحات بی نهایت سپاسگزاریم از شما… خیلی کامل بود.
یه سوال::: وقتی تبدیل انجام میشود بین تاریخ ها اسلش نمیاد چطوری میشه اینو اضافه کرد؟؟؟؟؟
و یه خواهش از شما دارم که بگید برای هر بار استفاده از ماکرو برای موارد مختلف این فایل ها را چه گونه سرج کنیم … یعنی با چه نامی…
به عبارت دیگر من همیشه در کار با ماکرو مشکل دارم چرا که فایل را ندارم
نمیدونم متوجه سوالم شدید یا نه؟؟؟؟؟؟؟؟؟
امکان داره مثال های دیگری را زده و فایل های دیگری را قرار دهید؟؟؟
سپاس
masoud
Posted at 13:55h, 30 آگوستممنون ، مشکلم حل شد ، قسمت format cells مشکل داشت ، باید روی حالت text میبود.
masoud
Posted at 13:23h, 30 آگوستدستور اضافه کردن تعدادی روز به تاریخ اجرا نمیشود
لطفا راهنمایی کنید
نجمه آشتیانی
Posted at 16:12h, 27 آگوستسلام
من به شدت به این مورد احتیاج دارم و همه ی مراحلی که گفتید رو انجام دادم ولی تابع شمسی رو بهم نشون نمیده 🙁
چی کار کتم؟
m.bodobia2
Posted at 21:14h, 23 آگوستبا سلام
اگه بخواهیم بگیم که هر تاریخی که این ردیف یا این سلول پر شد رو در ی سلول دیگه به ما نشون بده چیکار باید بکنیم
با تشکر از سایت و مطالب بسیار بسیار مفید
ebi
Posted at 19:48h, 10 آگوستسلام
لینگ دانلود ماکرو رو پیداا نکردم
لطفا راهنمایی بفرمایید
حامد
Posted at 14:54h, 23 جولایبا تشکر لطفا نحوه محاسبه تفاضل تاریخ 1394/01/12 و 1395/08/30 چگونه بدست میآید.
از سایت خوبتون سپاسگذارم.
مهدی شریف
Posted at 09:24h, 10 جولایسلام
یک فایل اکسل که تاریخ های شمسی داخلش هست رو وقتی می خوام اختلاف دو تاریخ رو بدست بیارم داخل سلولی که باید اختلاف دو تاریخ باشه #value! رو نشون میده ، و وقتی همون تاریخ رو روی سلول خودش تایپ میکنم درست میشه و جواب میده .
ضمن اینکه وقتی روی سلول تاریخ های موجود کلیلک میکنم رد سمت راست نوار فرمول نشون میده و وقتی تایپ میکنم میاد سمت چپ .
ممنون میشم کمک کنید .
mehdi.e
Posted at 12:01h, 12 ژوئنسلام
من میخوام امار شرکتم رو اکسل وارد کنم وقتی میزنم به طور مثال 95/1/1 تبدیل میشه به1995/1/1 من میخوام تبدیل بشه به 1395/1/1 لطفا راهنمایی کنید با تشکر
رضا
Posted at 11:59h, 30 می3پاس فراوان
سید علی هاشمی
Posted at 18:40h, 21 میسلام مهندس جان
خیلی از لطفت ممنون
فایل را با نوت پد باز کردم و تمام نوشته ها و توابع را در module کپی کردم و پنجره هارا بستم و با xlsmآنرا save as کردم و فایل اکسل را باز کردم و توابه مثلا shamsi= را تایپ کردم علامت name را نشان میدهد
ممنون میشم راهنمائی فرمائید
Zahra
Posted at 22:42h, 17 میسلام وقتتون به خیر.
ایا امکان هست تاریخی که به صورت ۱۳۹۵/۰۲/۱۴را به صورت ۱۳۹۵۰۲۱۴ نوشت ؟در صورت خیر. چگونه می توان دو تاریخ ۱۳۹۵/۰۱/۱۵ از تاریخ ۱۳۹۴/۱۲/۱۲ کسر کرد. ممنون می شم پاسخ بدید.
ع *نقدی
Posted at 08:16h, 25 فوریهبا عرض سلام
چگونه میشود تاریخ شمسی را در اکسل از همدیگر کسر نمود وحاصل آن تعداد روز اعلام گرددمثلا
دریک سلول تاریخ اعتبار گواهی تا تاریخ1396/02/31 وجود دارد که اگر از تاریخ 1395/12/30 کسر شود 62 روز اعتبار گواهی را اعلام نماید(در صورت مقدور تاریخ روز از سیستم اخذ شود وبه صورت دستی وارد نگردد)
ممنون
جهانگیر آذربان
Posted at 18:47h, 23 فوریهسلام دوستان
دستورadddayتو اکسل من درست کار نمیکنه
عین دستور نوشته شده رو مینویسم ولی خطا میده
feri
Posted at 00:28h, 22 فوریهبسیار عالی
ممنون از شما
فقط با توجه به اینکه توابع نمیتوانند تاریخی غیر از تاریخ جاری رو به شمسی تبدیل کنند اگر چند تغییر بدین این کار انجام میشه و فقط کافیه بنویسید
=Shamsi(تاریخ میلادی مورد نظر)
کدش اینه :
‘***********************************************
Public Static Function Shamsi(ByVal F_Date As Long) As Long
‘تاريخ جاري سيستم را به تاريخ هجري شمسي تبديل مي كند
Dim Shamsi_Mabna As Long
Dim Miladi_mabna As Date
‘در اينجا 78/10/11 با 2000/01/01 معادل قرارداده شده
Shamsi_Mabna = 13781011
Miladi_mabna = #1/1/2000#
Dif = DateDiff(“d”, Miladi_mabna, F_Date)
If Dif < 0 Then
MsgBox "تاريخ جاري سيستم شما نادرست است , آنرا اصلاح كنيد."
Else
Shamsi = AddDay(Shamsi_Mabna, Dif)
End If
End Function
امیر
Posted at 14:37h, 15 فوریهسلام مهندس اسماعیل پور
بسیار مفید بود . ممنموم
sara
Posted at 09:43h, 15 فوریهباسلام من مشکل مرتب سازی تاریخ تولد دارم مثلا به جای 36/2/18باید بزنم 1336/02/18تعداد این مرتب سازی هم زیاده ضمن اینکه با اکسلم زیاد اشنا نیستم.ممنون میشم راهنمایی کنید
مهدی
Posted at 10:44h, 13 فوریهباسلام و تشکر درمورد نشان دادن سال کبیسه فرمول بین تمامی سالها هر چهار سال یک بار در نظر میگیره بجز بین سال های ۱۳۷۱ تا ۱۳۷۵ ایا این یک خطای برنامه نویسی محسوب نمیشه
علی
Posted at 08:25h, 08 فوریهمثال: (7;13940114)AddDay= نتیجه: 13940121
بعد از تابع =make_date(13940121) استفاده کنید
جهانگیر آذربان
Posted at 18:48h, 23 فوریهعلی جان من عین این دستور رو زدم ولی کار نکرد
خطا میده
مسعود
Posted at 16:46h, 22 ژانویهسلام
من میخوام یه تاریخ شمسی مثل 1395/02/05 با همین فرمت رو توی اکسل با یه عددی جمع کنم. مثل 7 که جواب بشه 1395/02/12 آیا امکانش هست؟ بی زحمت جوابتونو برام ایمیل کنید
ممنونم
علی
Posted at 16:22h, 22 ژانویهعلی
01.22.2017 در 4:22 ب.ظ
با سلام من طبق روش گفته شده کار کردم و لی هر وقت توابع را میزنم علامتname # را نشون میده چرا خواهش میکنم کمکم کنید؟؟؟؟؟؟؟؟؟؟
علی
Posted at 16:22h, 22 ژانویهبا سلام من طبق روش گفته شده کار کردم و لی هر وقت توابع را میزنم علامتname # را نشون میده چرا خواهش میکنم کمکم کنید؟؟؟؟؟؟؟؟؟؟
علی
Posted at 09:20h, 22 ژانویهسلام من فایل text رو دانلود کردم ولی چون utf-8 نیست همه نوشته هاش به هم ریخته به کاراکترهای ناخوانا تبدیل شده است. میشه فایلش رو مجدد آپلود کنید و فرمت صحیح
mehdi69
Posted at 00:23h, 20 ژانویهازتابع diffاستفاده کنین
مهدی
Posted at 11:44h, 19 ژانویهسلام من دو تاریخ شمسی رو میخوام از هم کم کنم نمیشه باید چکار کنم؟
hkheiran
Posted at 14:50h, 17 ژانویهبا سلام و خسته نباشید
میشه برنامه ایی در فایل درج کرد که شماره هفته رو هم بدهد؟
علی
Posted at 15:39h, 16 ژانویهبا سلام من تمام مراحل را همان طوری که شما گفته بودین رفتم و توابع shamsi , dat . … بود ولی موقع کار کردن و استفاده#name? را نشان میده چرا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
mehdi69
Posted at 21:49h, 12 ژانویهبا سلام خدمت همه دوستان عزیزم خصوصا مدیریت محترم.
سوالی که من داشتم در مورد کم کردن دوتاریخ از هم هستش(به صورت شمارش معکوس روز ،ساعت و دقیقه) که این عملیات را در قالب نمودارpieبه ما نشان بده.برای نشون دادن مدت زمان باقی مانده برای اتمام پروژه لازم دارم.
اگه کسی بتونه راهنماییم کنه ممنون میشم
KEVIN
Posted at 14:11h, 11 ژانویهسلام خدمت دوستان اگر هنوز بعضیا مشکل ؟ در VBA دارن میتونن وارد این قسمت در صفحه VBA بشن
TOOLS<OPTION
تب EDITOR FORMAT رو انتخاب کنید بعد تو قسمت FONT یه فنت فارسی( مثلا B NAZANIN )انتخاب کنید بعد OK حالا نوشته رو کپی کنید
parisa1995
Posted at 11:36h, 02 ژانویهسلام
خسته نباشید ممنون بابت مطالب آموزشی
من یه سوال داشتم ورژن که آموزش میدید چنده چون من 2013 کار میکنم اکثر عنوانهایی که میگیدو پیدا نمیکنم ممنون
asghar
Posted at 09:39h, 27 دسامبربا سلام
آيا ميشه در اكسل فرمولي بكار برد تا با وارد كردن تاريخ استخدام فردي در يك سلول آن سلول يا سلول كناري آن سالهاي گذشته خدمتي آن فرد را نشان دهد مثلا فردي در سال 1390/10/11 استخدام شده و خود اكسل به صورت خودكار در سلول كناري عدد 5 سال نمايش دهد كه اين فرد از اين تاريخ تا 1395/10/11 (5 )سال خدمت كرده است
trooska
Posted at 10:01h, 12 دسامبرسلام خسته نباشید خیلی ممنونم از سایت عالیتون
فقط چرا من همه مراحل رو درست طبق دستور انجام میدم ولی وقتی اکسل رو میبندم و یه فایل اکسل باز میکنم تمامی فرمول شمسی میپره ؟؟؟ صد بار هم چک کردم درست بود؟
حمید طهانی
Posted at 14:45h, 11 دسامبرهمه مطالب عالی بود. تشکر و خسته نباشید
فقط مثال previouse mah اشتباه تایپی داره .
اگر میشد اختلاف روز ماه سال رو هم به تفکیک میداد عالی میشد. یعنی دقیقا لنگ همین مطلبم.
در ضمن اگه گروهی در تلگرام دارید ممنون میشم منم ادد کنید. 09214312663
سیدمرتضی
Posted at 13:21h, 10 دسامبرسلام
مطلبتون عالی و کاربردی بود
ممنون :)))
قاسم
Posted at 11:02h, 29 نوامبربا سلام خدمت همه بزرگواران
ی سوال داشتم: میخواستم تاریخ اعتبار یه سری مدارک رو در اکسل ثبت کنم و میخوام از طریق فرمول نویسی بیاد تاریخ درج شده رو با تاریخ روز مقایسه کنه و بهم آلارم بده
میشه کمکم کنید؟؟
فرهاد واقف
Posted at 11:35h, 23 نوامبرسلام
ممنون از مطلب کارآمدتون. کدوم آموزشگاه اکسل حرفه ای در تهران رو پیشنهاد می کنید؟
e
Posted at 10:51h, 18 نوامبربا سلام ، قبل از هر چیز از مطالب بسیار کاربردی سایتتون تشکر میکنم.
یه سوال داشتم: در اکسل با کلیک راست روی نام Sheet برای انتخاب view code، این گزینه خاموشه! یعنی من اصلن نمیتونم انتخابش کنم.( قسمت ماکرو هم تو تنظیمات فعاله) مشکل از کجاست؟
خیلی ممنون
کورش
Posted at 00:01h, 13 نوامبرسلام و خسته نباشید
آقا تابع AddDay مشکل داره نظرات دیگران رو هم خوندم چند نفر دیگر از دوستان هم مشکل داشتن. همه توابع به درستی کار می کنن ولی این تابع فقط مشکل داره و وقتی عددی رو به تاریخ مورد نظر بعد از سمیکالن اضافه می کنم ارور میده.
لطفا راهنمایی بفرمایید
با تشکر
شهاب
Posted at 20:47h, 11 نوامبرسلام
من میخواستم فرمول الارم در اکسل رو اگه میشه برای تاریخ ببنویسید
ممنون میشم
محسن
Posted at 22:13h, 10 نوامبرسلام وقتی دستور shamsi= رو میزنم تاریخ بصورت 13950820 نشون میده و بینشون / نمی ذاره
مهتاب
Posted at 09:56h, 07 نوامبرسلام.
من وقتی notepad رو باز می کنم هم فارسی ها روو به زبان دیگه ایی نشون میده که قابل خوندن نیست.
چه کنم؟
حامدمحمدی
Posted at 00:02h, 02 نوامبربه نام خدا
با سلام محضر برادر و دوست عزیز استاد گرانقدر جناب اسماعیل پور
اما بعد، با تشکر از حوصله در پاسخگویی به سوالات مطرح شده از سوی مشتاقان فراگیری اکسل
من که واقعا استفاده می برم.
ارادتمند شما حامد
محسن
Posted at 23:22h, 22 اکتبرسلام
من یه فایل اکسل دارم ستون تاریخ جای ماه و روز که بینشون اسلش/ است عوض شده چطور میتونم درستش کنم.
س
Posted at 20:16h, 13 اکتبرسلام. من كل اين مراحل رو اجرا كردم وانجام شد.
ولي در آخر وقتي =sh مي زنم و اينتر
مي زنم…ارور #name مي ده… مشكل از كجاست؟
یاسین اسماعیل پور
Posted at 10:10h, 16 اکتبرسلام
وقتی =sh میزنید نباید اینتر بزنید باید گزینه shamsi رو انتخاب کنید.
mahboub
Posted at 12:11h, 13 اکتبریا به عبارتی تابع shamsi() آپدیت نمیشه
یاسین اسماعیل پور
Posted at 15:49h, 13 اکتبرسلام
قبلا هم در این خصوص توضیح داده بودم دوست عزیز
اگر میخواید تابع شما خودکار به روز بشه کافیه عبارت:
Application.Volatile
رو به ابتدای تابع Shamsi() کد خودتون (کد داخل ماژول نه فرمول) اضافه کنید. اما یادتون باشه با اینکار هر بار ک تغییری در شیتتون بدید تابع شمسی دوباره محاسبه میشه و این باعث میشه پردازش فایل شما بیشتر بشه
mahboub
Posted at 08:41h, 15 اکتبراین کارو کردم ولی بازم آپدیت نمیشه
mahboub
Posted at 13:45h, 15 اکتبرمشکلم حل شد.واقعا ممنونم جناب
یاسین اسماعیل پور
Posted at 10:25h, 16 اکتبرخداروشکر که مشکلتون حل شد
mahboub
Posted at 12:08h, 13 اکتبرمن با تابع Diff اختلاف تاریخ امروز با یه تاریخ دیگه رو حساب میکنم.
اما حاصل هر روز آپدیت نمیشه.مصلا اگه اختلاف دیروز عدد 10 بوده، امروز پس از گذشت 1 روز، باید اختلاف بشه 9.اما این اتفاق نمیفته
اگه کسی میتونه کمک کنه
Maryam
Posted at 12:00h, 13 اکتبرسلام
واقعا از مطالعه این وبسایت لذت بردم ، کاربردی و سهل الوصول …
من یک سوال دارم ممنون میشم راهنماییم کنید :
آیا برای محاسبه دیرکرد پرداخت مشتریان ( دیرکرد پرداخت چک ) میشه تابعی تعریف کرد ؟
مثلا اگر تاریخ چک از تاریخ صدور فاکتور بیشتر از 100 روز شد ، براش بتونم بر اساس یه ضریب دیرکرد پرداخت حساب کنم .
سپاس
یاسین اسماعیل پور
Posted at 15:34h, 13 اکتبرسلام مریم خانوم
بله میشه. کافیه ما با استفاده از تابع if نتیجه حاصل از تابع diff رو چک کنید و در صورتی که بیشتر از 100 بود محاسبات مدنظرتون رو انجام بدید
مصطفی
Posted at 20:10h, 12 اکتبربسیار عالی بود
کار من رو که خیلی راحت کرد
ممنونم از شما
یاسین اسماعیل پور
Posted at 15:25h, 13 اکتبرممنون از نظر لطفت مصطفی جان
mahboub
Posted at 08:52h, 10 اکتبرسلام .ممنون از مطلب مفیدتون
یه سوال دارم.چجور میتونم اختلاف دو سلول را که محتوای آنها تاریخ شمسیه که به صورت دستی وارد شده، حساب کنم؟
میثم
Posted at 14:40h, 08 اکتبرخیلی ممنون از شما.
خیلی بهره بردم. خسته نباشید
فقط کامنتهای فارسی را وقتی وارد ماژول اکسل 2013 میکنم همشون به شکل علامت سوال درمیان.
شب بو
Posted at 17:25h, 06 اکتبرسلام. ممنون از مطلب عالی و مفیدتون.
یه سوالی داشتم اینکه اگه من بخوام تعداد روزهایی که بین دو تا تاریخ که با این فرمت نوشته شده (95/05/23) و در دو سلول گذاشتم رو بدست بیارم باید از چه تابعی استفاده کنم، چون تابع DIFF رو که استفاده کردم ارور داد. لازمه فرمت تاریخ سیستم رو تغییر بدم؟ یا اینکه کلا فرمت تاریخ نویسی رو در اکسل تغییر بدم. ممنون میشم اگه جواب بدین.
علی
Posted at 09:34h, 05 اکتبرسلام من وقتی از تابع shamsi() استفاده میکنم روز بعد تاریخ اپدیت نمیشود چرا؟؟؟؟؟؟؟؟؟ و بعضی وقتا تابع شمسی تاریخ دیروز را به جای امروز وارد میکند چرا
مهدی
Posted at 07:32h, 01 اکتبرچرا کسی جواب منو نمیده؟؟؟؟؟؟ من طبق همین روشی که شما گفتین شمسی سازی را انجام دادم و اجرا هم شد ولی وقتی از فایل بیرون امدم و دوباره وارد فایل شدم توابع وجود داشت ولی نمیشد از انها استفاده کرد و هر وقت() SHAMSI=را میزنم صفر را نشان میدهد؟؟؟؟؟؟؟؟؟؟
jimmy
Posted at 00:28h, 01 اکتبرسلام به شما مدیر سایت و شما خواننده ی محترم
یکی از پر کاربردترین تابع های اکسل همین تابع تاریخ شمسی هست.
برای راحتی کار با این توابع شما میتونید توابعی که لازم دارید رو بجای اسم انگلیسی با اسم فارسی فراخوانی کنید برای این منظور برید به ماژول1 و اسم تابع مورد نظر رو با سرچ پیدا کنید و بعد اسم تابع رو در هر جای اون تابع اومده به فارسی تغییر بدید و برای فراخوانی تابع در محیط اکسل تابع رو با حروف فارسی فراخوانی کنید!! (عملا دیگه نیازی نیست تغییر زبان بدید و انگلیسی کنید) برای من که تابع ()DAT= مورد استفاده بود dayweek که به فارسی روز هفته رو وارد میکرد برداشتم (لازم نداشتمش) و با تغییر اسم تابع و دستور داخل تابع به ()تا= خیلی کارم راحت شد.
مرسی بابت مطالب خوبتون
رضا شریفی نیا
Posted at 19:11h, 29 سپتامبربا سلام
من توی محل کارم خیلی لازمه که سن اشخاص رو به سال و ماه روز داشته باشم چکارکنم لطفا کمک کنید
jimmy
Posted at 00:30h, 01 اکتبرع س
از تابع diff استفاده کنید کامنتها رو بخونید
مهدی
Posted at 07:49h, 26 سپتامبربا سلام من طبق روشی که شما گفین پیشرفتم ولی چطوری xlsm را داخل کادر save type قرار دهیم و هر گاه از اکسل بیرون میروم و دوباره اکسل را باز میکنم و =sh رامیزنم ان را نشان نمیدهد و اجرا هم نمیکند چرا ؟؟؟؟؟ کمکم کنید ممنون
حمید
Posted at 14:24h, 19 سپتامبرحمید
سلام … تنها از فرمول ()Shamsi= به درستی عمل میکنه بقیه که میزنم این میگه #VALUE! …. علتش چیه … ؟!
pnde
Posted at 17:57h, 18 سپتامبرسلام ساعت جاري رو چجوري بذارم؟
ربابه
Posted at 11:35h, 18 سپتامبربا سلام، من میخوام یک ستون رو که محتوی تاریخ شمسی روز های چند ماه هست رو به ترتیب روز مرتب کنم. اگر کسی میدونه چطور میشه اینکار رو انجام داد ممنون میشم بگه.
یاسین اسماعیل پور
Posted at 00:30h, 19 سپتامبرسلام
در یک ستون کمکی با استفاده از تابع right روزها رو جدا کنید و بعد بر اساس این ستون کمکی مرتب کنید
هاشم چنانی
Posted at 23:56h, 05 سپتامبرسلام
متشکرم. خیلی عالی بود
samira
Posted at 17:58h, 24 آگوستآقاي اسماعيل پورخواهش ميكنم به سوال من جواب بديد خيلي نياز دارم
saeed
Posted at 11:50h, 22 آگوستسلام
دمتون گرم از این آموزش .
مرسی
samira
Posted at 13:53h, 21 آگوستسلام خسته نباشيد.
سايتتون واقعا عاليه…
من ميخوام دوتاريخ شمسي را از هم كم كنم به نحوي كه نتيجه تعداد ماه ها رو برگردونه. ميشه اين كارو كرد؟چطوري؟
حاج علی
Posted at 10:41h, 18 آگوستآقا واقعاً ممنون؛ اینکه رایگان مطلبی در اختیار عموم میزارید نشانه دیدگاه خالصانه و بزرگمنشانه شما عزیزانه- مطالبتون بسیار مفید بودن مچکرم
spiderboy
Posted at 09:11h, 18 آگوستدر واقع من میخوام وقتی کاربر فایل اکسل رو باز میکنه تاریخ به روز توی خونه مربوطه دیده بشه.
الان در حالت عادی تاریخ آخرین سیو نشون داده میشه. مثلا اگه 1/5/95 فایل رو ذخیره کرده باشم و امروز بازش کنم تاریخ سلول همون 1/5/95 هست. باید یه بار دابل کلیک کنم روی سلول و اینتر بزنم تا تاریخ بشه 28/5/95
اگه دقیقا و مبتدیانه بگید چیکار کنم خیلی خیلی کمک بزرگی کردید بهم . زیاد به کد نویسی تسلط ندارم .
spiderboy
Posted at 08:47h, 18 آگوستاخه به کد نویسی تسلط ندارم
وقتی این که گفتین رو اول شمسی اضافه میکنم ارور میده و میگه
invalid outside procedure
mehrnaz
Posted at 23:50h, 17 آگوستسلام
من همه کارهایی که بالا توضیح دادیدو انجام دادم ولی همچنان نمیتونم تفاوت دوتا تاریخو بدست بیارم، وقتی به عنوان مثال مینویسم (13940114;13940107)Diff= ابتدا بجای جواب عدد صفر میگذاره و وقتی دوباره سلول و انتخاب و اینتر میکنم ?Name#. می شه لطفا راهنمایی کنید. تشکر
spiderboy
Posted at 09:45h, 17 آگوستجناب اسماعیل پور ممکنه به من هم کمک کنید ؟
در خصوص بروزرسانی خودکار تاریخ شمسی موقع ورود به اکسل بود که راهش رو فرمودید اما من نتونستم عملی کنم.
میشه زحمت درج کد رو بکشید و کد کامل رو بدید
یاسین اسماعیل پور
Posted at 11:05h, 17 آگوستسلام. به چه مشکلی خوردید؟ یک خط بود تمامش که
niloofar
Posted at 16:04h, 13 آگوستسلام یه جدول فایل اکسل که چند صفحه هست رو بخام به صورت پی دی اف یک صفحه ذخیره کنم میشه؟!
یاسین اسماعیل پور
Posted at 12:49h, 15 آگوستسلام بله میشه. save as pdf رو بزنید.
REZA
Posted at 08:44h, 13 آگوستسلام جناب آقای اسماعیل پور عزیز
بنده از توابع ارائه شده استفاده کردم و یک DATA BASE سفارشات برای بخش تدارکاتمان آماده کردم.تو این DATA BASE تاریخ های مراحل مختلف سفارش ثبت میشه و با تابع DIFF هم زمان واقعی با زمان استاندارد برای هر فعالیت مقایسه میشه و اختلاف نشون داده میشه.متسفانه بعد از ورود اطلاعات 60 مورد سفارش(کمتر از یک ماه است که اطلاعات وارد میشه) فایل اکسل باز نمیشه.به نظر شما علت چیست؟
ممنون میشم راهنمایی کنید.
حامد م
Posted at 16:04h, 11 آگوستبسیار عااالییییی
از شما سپاسگزارم که دانشتون رو به اشتراک میذارید
پیروز و سربلند باشید
یاسین اسماعیل پور
Posted at 12:42h, 15 آگوستممنون از لطفت حامد جان
mina alizadeh
Posted at 11:29h, 10 آگوستسلام
با سپاس از اطلاعات مفیدتون ، من قصد دارم یک شمارنده واسه تاریخ تعریف کنم که وقتی 21 روز از تاریخ ارسال تجهیزاتم گذشت ردیف اون تجهیز رو واسم مشخص کنه . ممنون میشم راهنمایی کنید
یاسین اسماعیل پور
Posted at 12:57h, 15 آگوستسلام مینا جان
با استفاده از تابع diff و گرفتن اختلاف اون با تابع shamsi میتونید اینکار رو بکنید
سوگند
Posted at 12:35h, 08 آگوستممنون از شما، کارم راه افتاد
یاسین اسماعیل پور
Posted at 23:42h, 08 آگوستخواهش میکنم دوست من
spiderboy
Posted at 10:50h, 08 آگوستسلام جناب اسماعیلپور
ممنون از معرفی تابع بسیار کاربردی تاریخ شمسی
من این تابع رو در یه سلول استفاده کردم
=shamsi()
ولی متاسفانه خودکار آپدیت نمیشه
یعنی مثلا دیروز 13950517 بوده و امروز فایل رو باز میکنی خودکار به 13950518 تبدیل نمیشه . راهی براش هست ؟
ریکلکیولیت و ریفرش و … رو امتحان کردم نشد.
خودم فکر میکنم اگه به جای فرمول =shamsi() از یه فرمول که تاریخ میلادی رو به شمسی تبدیل کنه استفاده کنیم شاید راه گشا باشه
=miladi_shamsi(today())
ولی تابع این پست فرمول تبدیل تاریخ میلادی به شمسی رو نداشت …
ممنون میشم برای این مساله راهنماییم کنین
تشکر
یاسین اسماعیل پور
Posted at 23:40h, 08 آگوستسلام دوست عزیز
کافیه در کد VBA خط زیر رو به ابتدای تابع shamsi() اضافه کنی:
Application.Volatile
spiderboy
Posted at 18:51h, 13 آگوستتشکر. این کار رو انجام دادم اما بازهم نتیجه نداد. احتمالا من به درستی انجام ندادم. میشه شما زحمتش رو بکشید و فایل ویرایش شده رو بذارید تا هم من و هم دیگران استفاده کنیم؟
ehsan
Posted at 12:05h, 05 آگوستسپاس
یاسین اسماعیل پور
Posted at 13:29h, 05 آگوستممنون احسان جان
niloofar
Posted at 11:18h, 04 آگوستSUMIFS(P12:P19;Q12:Q19; “>= 1395/02/01″; Q12:Q19; ” <= 1395/02/31") in tabe
یاسین اسماعیل پور
Posted at 13:27h, 05 آگوستسلام نیلوفرجان.
مشکل فرمول شما اینه که بعد از مساوی ها فاصله گذاشتی. فاصله ها رو حذف کن درست میشه
niloofar
Posted at 14:19h, 07 آگوستسلام ممنون ولی بازم درست نشدن
niloofar
Posted at 14:46h, 07 آگوستتاریخم فارسی هستا
niloofar
Posted at 11:16h, 04 آگوستsalam man ba sumifs mikham tabei bnvisam k tarikhaye yek sotoono negah kone beyn tarike x ta y adade sotoone rooberoosho jam bezane
مرضیه
Posted at 11:59h, 24 جولایسلام اگه تاریخ تولد کسی رو داشته باشیم در اکسل فرمولی وجود دارد که سن اون نفر رو نشون نشون بده ؟
یاسین اسماعیل پور
Posted at 01:27h, 25 جولایسلام
بله وجود داره همین مطلب رو مجدد با دقت مطالعه کنید توابعش رو توضیح دادم کامل
پارسا
Posted at 21:06h, 23 جولایعالی،واقعا عالی،این سایت کلا عالیه
یاسین اسماعیل پور
Posted at 01:29h, 25 جولایمرسی دوست عزیز
zarineh
Posted at 19:28h, 20 جولاییعنی واقعا ممنون … خیلی به کارم اومد …
یاسین اسماعیل پور
Posted at 01:57h, 22 جولایقخوشحالم که به کارت اومده دوست من
حسینی
Posted at 17:42h, 04 جولایسلام
جناب مهندس من همه اون کارها رو انجام دادم ولی ،Diff رو حساب نمی کنه.
خیلی ممنون می شم راهنمایی بفرمایید
شاعر الکترونیک
Posted at 17:42h, 23 جولایسلام . با اجازه مهندس گرامی آقا یاسین
مشکل اینه که در فرمول به جای “;” باید از “,” استفاده کنید که در راهنمایی اشتباه نوشتاری پیش اومده دوست من
احسان توکلی
Posted at 19:15h, 03 جولایآقا یاسین گل دست شما درد نکته بابت این مطلب واقعا عالیت. من فایل رو دانلود کردم . ولی مثل بعضی از دوستان مشکل نافرم باز شدن نوشته های فارسی رو داشتم. راه هایی هم که گفته بودی انجام دادم . بازهم درست نشد… ممنون میشم اگر کمکم کنی. حتی سعی کردم خودم فارسی بنویسم تو vba ولی نشد.
hmg
Posted at 16:47h, 01 جولایسلام بسیار ممنون از سایت مفیدتان.
سوالی داشتم ممنون میشم پاسخگو باشید.
میخواهم در سلول های یک ستون تاریخی را وارد کنم. و فرمولی بنویسم که اگر از هرکدام از آن تاریخ ها 15 روز بگذرد . ردیفی که آن سلول در آن قرار دارد رنگ متنشان یا رنگ پس زمینه تغییر کند.
چه باید بکنم؟ خواهش میکنم راهنمایی کنید.
rahim
Posted at 23:04h, 30 ژوئناگر از تابع روز استفاده کنم جور در نمیاد چون همه ماه ها تعداد روزشون یکی نیست
rahim
Posted at 23:02h, 30 ژوئنباسلام و خداقوت خدمت شما، هرچند مطالب خیلی عالیه ولی مشکل من هنوز حل نشده. من یه ستون تاریخ های متفاوت شمسی دارم که میخوام تاریخ شش ماه بعدش رو برام حساب کنه ولی تابعی ندیدم که اینکارو انجام بده میشه راهنمایی کنید لطفا؟؟؟؟
علی
Posted at 10:09h, 29 ژوئنآقا یاسین
با سلام مجدد، یکی اینکه من تا هر فایل اکسلی را که میخوام باز کنم ابتدا همین فایل ماکرو شمسی باز میشه ثانیا” امروز که همون فایل ماکرو باز شد تاریخش آپدیت نشده و مربوط به همون روزای قبلیه ، لطفا” بفرمائید مشکل کجاست !!!
ممنونم
علی
Posted at 15:05h, 28 ژوئنآقا یاسین
سلام ، من اینکارو انجام دادم و دقیقا” تاریخ رو بفارسی نشون میده اما علیرغم اینکه این فایل رو Add_Ins کردم و در اون قسمت تیک هم خورده اما در فایل جدیدی که ایجاد میکنم خونده نمیشه چرا؟ در ضمن تیک ماکرو رو هم در Add-ins فعال کردم .
ممنون میشم راهنمائی بفرمائید .
حسین
Posted at 11:48h, 28 ژوئنبا تشکر از ماکرویی که دادید . یک فایل اکسلی دارم . میخواهم تاریخ وصول چکها را از تاریخ سررسید آنها کم کنم . تا بتونم روی دیرکرد مشتریان بررسی انجام بدهم . نتونستم از این ماکرو استفاده کنم . اگر ممکنه راهنمایی بفرمایید.
علی
Posted at 19:31h, 26 ژوئنبا سلام
بسیار عالی بود و تشکر از ماکروئی که نوشتید .
سینا
Posted at 00:55h, 25 ژوئنبا سلام
چطور میشه دستور Shamsi() بطور خودکار به روز شه.یعنی هربار که فایل باز می شه تاریخ روز رو بهم اعلام کنه نه تاریخ قبل رو.
hamidr3za
Posted at 08:44h, 25 ژوئنسلام
از کلیدهای ترکیبی alt+cnrl+shift+f9 استفاده کن تاریخ اپدیت میشه
fateme
Posted at 00:42h, 23 ژوئنسلام
من میخام اکسل یه ستونی رو که تاریخ های هر سطر متفاوته رو بگیره و یه ماه مونده به اون تاریخ رنگ سطرم عوض بشه میتونین کمکم کنید ،لطفا؟
یعنی مثلا تاریخ انقضا منهای امروز بشه اگه کمتر از سی بود رنگشو عوض کنه
تاریخ ها شمسی هم باشه
hamidr3za
Posted at 08:43h, 25 ژوئنسلام
به نظرمن اول اون سطری که تاریخ توش هست رو تبدیل به ستون کن …بعد یک ستون جدید برای تاریخ روز ایجاد کن با استفاده از فرمول ()shamsi= بعد با تابع Diff اختلافشو بدست بیار و در نهایت بوسیله conditional formatting میتونی اونهایی که کمتر از سی روز مونده رنگشو عوض کنی
mahdi85
Posted at 17:22h, 21 ژوئنسلام
عالی بود
ولی برای من چرا تابع mahnameوdayweek ؟؟؟؟؟؟؟؟؟؟؟ این جوری نشون میده نتیجه فرمول رو؟
hamidr3za
Posted at 08:38h, 25 ژوئنسلام اقا یاسین چندروزه نیست من بجاش جواب میدم
شما زبان سیستم رو از کنترل پنل قسمت region & local –> administrative –> change system local عوض کنی بذاری روی persian درست میشه
hamidr3za
Posted at 14:45h, 21 ژوئنسوال دیگه اینکه چطور فقط در محدوده تاریخی که ما معین کردیم میشه تاریخ وارد کرد؟
ایا میشه از data validation استفاده کرد؟ با توجه به اینکه فقط تاریخ میلادی رو قبول میکنه
hamidr3za
Posted at 13:08h, 17 ژوئناقا یاسین میشه به سوالم چندتا کامنت بالاتر نگاه بندازی؟؟؟
یاسین اسماعیل پور
Posted at 21:43h, 20 ژوئنسلام حمیدرضا جان. کدوم سوال؟ اون رو که آقای خانیکی جواب دادن. منظورت همونه؟
hamidr3za
Posted at 10:06h, 21 ژوئناره جواب دادن ولی مشکلم حل نشد گفتم شاید شما راه حل دیگه ای بدونی
حسین
Posted at 06:15h, 15 ژوئنخیلی خوب و مفید بود ممنونم.موفق باشید
یاسین اسماعیل پور
Posted at 16:51h, 15 ژوئنممنون حسین جان. شما هم موفق باشید
علی محمدی اصل
Posted at 20:12h, 12 ژوئنسلام. خیلی عالیه. خیلی به کارم اومد. ولی یه اشکال کوچولو داره که اگه برطرف بشه اونی میشه که من می خوام.
اگه بشه در اختلاف دو تاریخ مشخص کنه که چند روزش در سال کبیسه بوده و چند روزش در سال عادی خیلی عالی می شه.
یاسین اسماعیل پور
Posted at 15:07h, 14 ژوئنسلام علی جان
متاسفانه تابعی برای اینکار نداره علی جان
آموزش ماکرو نویسی در اینجا
Posted at 15:33h, 08 ژوئنسلام ، آقای حامد شرقی
من با ماکرونویسی تابعی نوشته ام که تاریخ میلادی رو میگیره و تاریخ شمسی رو برمیگردونه
شما برای اینکه بتونید ستونی ، دارای تاریخهای شمسی داشته باشید ، ابتدا بایستی ستونی با تاریخ میلادی ایجاد کنید و با کمک این تابع ، تاریخ شمسی متناظر اون رو بدست بیارید . در نهایت میتونید ، ستون تاریخ میلادی رو که لازم ندارید ، مخفی کنید
یک راه دیگه اینه که ، تاریخ شمسی رو بر اساس شماره ردیف جدولتون تنظیم و محاسبه کنید!!
برای دانلود کردن این تابع و نحوه استفاده از اون ، با کلیک کردن روی عنوان بالای این پاسخ ( آموزش ماکرونویسی در اینجا ) به وبلاگ من وارد بشید ، و به پست “دانلود نمونه های آموزشی” بروید و تابع “تبدیل تاریخ میلادی به شمسی” رو دانلود کنید
موفق باشید – خانیکی
0919-302-6452
اینجا را کلیک کن
Posted at 01:14h, 07 ژوئنسلام ، آقای عظیمی
نمونه عکس بالا نوت پد نیست ، بلکه محیط ماکرونویسی در اکسل یا بعبارتی VBA است
با کلیک راست روی نام شیت و انتخاب گزینه View Code میتونی به اونجا بری
موفق باشی – خانیکی
0919-302-6452
alirezaazimi
Posted at 12:57h, 06 ژوئنسلام فایل نوت پد من انگلیسی باز میشه اصلا روزای هفته رو نداره مثل نمونه عکسی که شما از نوت پد گذاشتین. مشکلش چیه؟؟
اینجا را کلیک کن
Posted at 23:46h, 05 ژوئنخواهش میکنم ، آقا حمید رضا
اگه فقط فایلهای اکسل با فرمت 2003 دچار مشکل میشن ، با Save As فرمت آنها را به روز کن
موفق باشی – خانیکی
آموزش ماکرو نویسی در اینجا
Posted at 14:26h, 03 ژوئنسلام ، آقا حمید رضا
مگر شما با اکسل 97 تا 2003 کار میکنید؟!!
فایل شما با پسوند XLS متعلق به این نسخه از اکسل می باشد!!
از طرفی ، اکثر پسوند نام فایلها در اکسل ، معمولاً با حروف کوچک نوشته میشود ، اما پسوند فایل شما با حروف بزرگ نوشته شده است!!
محتویات فایل نیز هیچ تناسبی با فایلهای اکسل ندارد ، گویا پسوند فایل نرم افزار دیگری را ، به پسوند اکسل تغییر نام داده اند!!
این شیطنت ها ، میتواند کار یک ویروس یا حتی یک فرد باشد!!
خودتان گفته بودید که ویروس فوق به پوشه های خاصی حمله میکند ، پس به راحتی میتوانید عملکرد آن را بررسی کنید
یک یا چند فایل سالم را به عنوان طعمه در پوشه های آلوده قرار دهید و نتیجه آن را به دقت بررسی کنید
تغییراتی که در حجم فایل ، پسوند نام فایل و محتویات فایل داده میشود را باهم مقایسه کنید
گمان نمیکنم فایلهای از دست رفته به راحتی قابل بازیابی باشند ، فقط بایستی با روشی ، از ادامه این تهاجم پیشگیری شود
نهایتاً تنها چاره کار ، ویروس کشی ، یا نصب مجدد ویندوز و مجموعه آفیس میتواند باشد . موفق باشید – خانیکی
0919-302-6452
hamidr3za
Posted at 13:50h, 05 ژوئنمرسی از پیگیری شما…
همون طور که گفتید فایل مربوط به اکسل 2003 به قبل هستش ولی پسوندو نمی دونم چرا حروف بزرگ ذخیره شده..!!
درباره محتویات باید بگم که فایل اکسل بودن قبلن ولی الان که بهم ریختن اصلن قابل خوندن نیست…الان تونستم جلوی ویروسو بگیرم تا پخش نشه ولی میخام فایل های قبلی رو برگردونم چون خیلی مهم هستند….ولی انگار کاری نمیشه کرد…با تشکر از شما که وقت گذاشتین
آموزش ماکرو نویسی در اینجا
Posted at 14:03h, 01 ژوئنآقا حمید رضا
روی عنوان این پیام “آموزش ماکرونویسی در اینجا” کلیک کن تا وبلاگم باز بشه
همه اطلاعات من ، آنجا هست
موفق باشی – خانیکی
0919-302-6452
hamidr3za
Posted at 11:36h, 03 ژوئنمرسی….فایل رو براتون فرستادم
آموزش ماکرو نویسی در اینجا
Posted at 17:10h, 31 میخواهش میکنم ، آقا حمید رضا
روشهای متعارف ، یعنی روشهایی که هر نرم افزار ، مثل اکسل ، برای بازکردن ، ذخیره کردن و یا بازیابی فایلهای خودشون از قبل پیش بینی و تعریف کردند
از دیگر مواردی که ممکنه باعث بهم ریختگی فایل بشه ، تغییر خودسرانه پسوند نام فایل و یا بازکردن فایلهای ذخیره شده با نسخه های جدید یک نرم افزار ، توسط نسخه های قبلی همان نرم افزار !!
آیا تمامی فایلهای اکسل شما بهم ریخته شده است؟ یا فقط تعدادی از فایلهای خاص؟
آیا از فایلهای فوق پشتیبان هم تهیه کرده بودید؟ در اینصورت ، فایلهای پشتیبان هم به هم ریخته هستند؟
اگر تمایل دارید ، یکی از فایلهای قدیمی را که کمتر دستکاری شده است ، اما اشکال آن کماکان باقیست برای من بفرستید تا از نزدیک بررسی کنم . برای ارسال فایل از طریق ایمیل ، روی عنوان این پیام کلیک نمایید
موفق باشید – خانیکی
0919-302-6452
hamidr3za
Posted at 09:31h, 01 ژوئنمرسی از جوابتون
من خودم فکر میکنم که از ویروس باشه البته ویروس کشی کردم درست نشد….
یا اینکه فونت ها مشکل داشته باشه که باید با تبدیل به utf8 بوسیله نت پد ++ حل میشد….
تمامی فایلهایی که بهم ریخته یک ویروس با چند نام داشت یکی از اونها RecoveR بود ولی باقی فایل ها که در فولدر اونها این فایل ویروس شکل نبود سالم ماندند…
ایمیل شما معلوم نیست …. اگه امکان داره یک بار دیگه بفرستید یکی از فایل ها رو براتون بفرستم
hamidr3za
Posted at 11:28h, 31 میاقا کار من خیلی گیره
منتظر جوابم………………………………..
انجام پروژه های اکسل در اینجا
Posted at 14:10h, 31 میسلام ، آقا حمید رضای عزیز
ایشالله که هیچوقت کارت گیر نباشه!!
من 15 ساله که دارم با اکسل کار میکنم و تا حالا سابقه نداشته که به همچین مشکلی بر بخورم !! دلایل زیادی ممکنه داشته باشه ، از ویروسی بودن کامپیوترت تا بد سکتور داشتن هارد و … !!
خودت بهتر از همه میتونی حدس بزنی که چی عامل اون میتونه باشه
دستکاری فایل یک نرم افزار با نرم افزارهای دیگه ، ممکنه کار رو خرابتر بکنه ، سعی کن از روشهای متعارف استفاده بکنی
موفق باشی – خانیکی
hamidr3za
Posted at 14:19h, 31 میممنون از جواب شما
ممکنه هم بخاطر ویروس و یا بدسکتور باشه
روش های متعارف مثل چی؟؟
من ویروس کشی کردم و هر راه حلی که میدونستم امتحان کردم الان دیگه نمیدونم واقعا چرا فایل همه چیزش بهم ریخته فونتاش قابل خوندن نیست زبان و لوکیشن سیستم رو هم فارسی کردم ولی باز درست نشد…نت پد++ هم جواب نداد
hamidr3za
Posted at 00:43h, 28 میسلام
یاسین جان
من چند تا فایل اکسل داشتم ولی الان همش بهم ریخته و اومدم با نت پد باز کردم تبدیل به utf8 کردم
و دوباره تو اکسل از تب data و from text دوباره فایلو باز کردم و با کاما اونها رو از هم جدا کردم بلکه فایلم درست شه………اما نمیشه نمیدونم مشکل تو اینکد کردن یا چیز دیگه …..هر کاری کردم بازم بهم ریخته بود
ممنون ::)))
اکرم
Posted at 11:31h, 16 مییاسین عالیییییییییییی بود
یاسین اسماعیل پور
Posted at 21:33h, 16 میممنونم از لطفت اکرم جان
مرتضی
Posted at 12:21h, 15 میسلام. عالی بود.
یاسین اسماعیل پور
Posted at 20:44h, 15 میمرسی مرتضی جان
reza
Posted at 13:36h, 06 میسلام
ممنونم ازمطالب مفیدتون(دمت گرم)
با تابع make_Date تاریخ رو “/” جدا کردم اما میخوام تابع Diff رو روش اعمال کنم ولی متاسفانه نمیشه
فقط میشه
(diff(13950101;13950102 این فرمول را وارد کرد و اختلاف روز را حساب کرد که خوندنش توی هزاران تاریخ واقعا سخته بدون”/” .
ایا ممکن هست که تابع make_Date و Diff رو باهم ترکیب کرد؟
باز هم سپاس فراوان بابت مطالب مفید و کاربردی.
hamidr3za
Posted at 11:34h, 31 میسلام
شما میتونی با تابع SUBSTITUTE(A1,”/”,””) همه “/” ها رو جدا کنی بعد تابع Diff رو اعمال کنی
بعد تو یه ستون دیگه با فرمول LEFT(A1,4)&”/”&MID(A1,5,2)&”/”&RIGHT(A1,2) اختلافی که با Diff محاسبه کردی دوباره بهش اسلش اضافه کنی
hamidr3za
Posted at 11:35h, 31 میپست قبلی خوب نیفتاد
اسلش دار کردن تاریخ:
LEFT(A1,4)&”/”&MID(A1,5,2)&”/”&RIGHT(A1,2)
mahboub
Posted at 09:29h, 10 اکتبرتابع SUBSTITUTE ارور NAME میده
یاسین اسماعیل پور
Posted at 11:10h, 10 اکتبرلطفا تابع substitute که نوشتین رو قرار بدین ببینم مشکل کار کجاست
yasin
Posted at 22:48h, 02 میسلام دوباره این مشکل تو شمارش سه ماهه ها هم وجود دارد مثلاً 1394/01/01 لغایت 1394/03/31 با دستور ِDIFF جواب میده 92 روز در حالیکه جواب باید 93 میشد باز نیازمند کمک سبزتان هستیم :)) ممنون
yasin
Posted at 22:35h, 02 میسلام
در صورتیکه سال 1394 کبیسه نیست ولی با محاسبه فرمول DIFF ما بین تاریخ 1394/01/01 الی 1394/12/29 تعداد روز 364 محاسبه میشه نمیدونم چرا . لطفاً بررسی کنید و جوابشو برام ایمیل بزنید ممنون قبلاً از سایت خوبتون و فعالیت مثبتون کمال تشکر و قدرانی را دارم .
محمد
Posted at 18:33h, 27 آوریلسلام
آقای اسماعیل پور بنده هر چه روی SHEET جدید میرم گزینه VIEW CODE خاموش هستش اگه میشه راهنمایی کنید چطور درست میشه؟
از مطالب مفیدی که داخل سایت بارگذاری میشه تشکر میکنم…..
میلاد
Posted at 12:21h, 25 آوریلسلام دوست عزیز
واقعا سپاس بخاطر اینکه برای این فایل کتابخونه ای که رووش خیلی زحمت هم کشیده شده ، یک داکیومنتیشن (wiki) خیلی خوب درست کردی.
مرسی از زحماتت
moh3n
Posted at 18:41h, 22 آوریلبا تابع make_Date تاریخ رو با اسلش جدا کردم اما میخوام تابع Diff رو روش اعمال کنم نمیشه
یعنی اختلافشون رو نشون نمیده
mohsen
Posted at 17:06h, 22 آوریلسلام
من میخوام توی جداولم تاریخ رو به جای 13950203 بصورت 1395/02/03 برگردونه
چکارباید بکنم؟
با تشکر از سایت خوبتون
majid
Posted at 10:28h, 18 آوریلسلام با تشکر از برنامه نویسی معرکه شما.
واقعا عالی هست و به درد بخور .
خداقوت
reza
Posted at 01:27h, 13 آوریلسلام
واقعا عالی ممنونم
فقط ی مشکلی کلافم کرده
وقتی کارامو انجام میدم میام بیرون و دوباره وارد میشم و shamsi=رو میزنم اصلا وجود نداره انگار کد وجود نداره.
وبعد از وارد کردن کد باید دوباره روز از نو روزی از نو.
چندین بار امتحان کردم جوابی نمیگیرم.
لطفا کمک کنید.
moh3n
Posted at 19:44h, 22 آوریلمنم این مشکلو دارم
فائزه
Posted at 14:29h, 10 آوریلعالی بود.ممنون
محمد امین
Posted at 22:53h, 05 آوریلسلام بی نهایت ممنون
سوالی دارم من برای تفاضل روزها سال مشکل دارم
برای محاسبه جریمه تاخیر قسط بانک
کاش بتونم نمونه شو براتون بفرستم
Milad
Posted at 05:34h, 28 مارسسلام.
من همه کامنت ها رو خوندم.
برای مشکلی که توی لغات فارسی وجود داره.
من همون ابتدا که فایل رو باز میکنم هیچ کلمه فارسی توش نداره.
فایل نوت منظورم هست. حالا همین فایل رو وقتی با utf8 هم ذخیره کنم هیچ تفاوتی ایجاد نمیکنه و کاراکترهارو به همون صورت به هم ریخته ذخیره میکنه. ممنون میشم فایل صحیح رو توی جواب کامنت بذاری. تشکر.
ماکان
Posted at 10:45h, 19 مارسممنون از مطلب مفید و خوبت.
من متن کد رو با استفاده از word-pad به فرمت unicode-utf8 تبدیل کردم. بعد به txt ذخیره کردم و متون توی notepad, notepad++ , wordpad, word نمایش داده می شن و خوانا هستن. توابع هم به کار خودشون عمل می کنن.
مشکلی که الان هست اینه که توی ویرایشگر vba همچنان حروف فارسی علامت سوال ؟ نمایش داده می شه. فرقی هم نمی کنه از کدوم ویرایشگر متن کپی کنم. و در نتیجه هم اگر قرار هست توی شیت اکسل “اردیبهشت” دیده بشه، به جاش چند تا علامت سوال میاد.
با یه مقدار جستجو می بینم مردم نوشته اند که گویا فرمتی به غیر از اسکی امکان نمایش نداره توی این ادیتور. (البته پردازش متن یونیکد ممکن هست، اما امکان نمایش مستقیم توی ادیتور نیست.) اما گویا شما این کار رو انجام دادی.
(در لینک زیر، سوال طرف، چیز دیگری هست، اما توی جواب ها به اینی که می گم اشاره شده)
http://stackoverflow.com/questions/7269399/declaring-a-unicode-string-in-vba-in-excel
و توی جواب ها دو نفر اشاره کردن. از جمله این قسمت:
Editor doesn’t display Unicode
از ویندوز 10 و آفیس 2013 استفاده می کنم. آیا تفاوت نسخه داریم؟
محمد طالشی
Posted at 15:19h, 07 مارسبا توضیحاتی که راجع به saveکردن نهایی دادید در عمل موفق نشدم لطفا راهنماییم کنید؟؟؟
یاسین اسماعیل پور
Posted at 15:40h, 09 مارسمیشه بیشتر توضیح بدی دوست من؟ کجای کار به مشکل خوردی. کافیه فایل رو با پسوند XLSM ذخیره کنی
علی
Posted at 09:41h, 06 مارسسلام یاسن جان . چطوری بین تاریخ شمسی را با / یا کاما از هم تفکیک کنیم
یاسین اسماعیل پور
Posted at 15:36h, 09 مارسسلام دوست عزیز
برای اینکار به اینصورت عمل کنید. فرض کنی تاریخ در سلول A1 هست.
=LEFT(A1;2)&”/”&MID(A1;3;2)&”/”&RIGHT(A1;2)
شروین
Posted at 10:31h, 28 فوریهخواهشا زود جواب بدید ممنون میشم
بابت آموزشتونم ممنون خیلی خوب بود عالی بود فقط کلیدشو هم بگید خیلی خوب میشه
یاسین اسماعیل پور
Posted at 15:23h, 09 مارسجواب سوالت رو دادم شروین جان
شروین
Posted at 10:30h, 28 فوریهمنن تمام کارهایی که گفته شده را انجام دادم ولی چجوری باید با یه کلید تاریخ شمسی جاری را ثبت کنم؟
یاسین اسماعیل پور
Posted at 15:22h, 09 مارسسلام شروین جان. برای اینکار کافیه در کد اون کلید بنویسی:
ACTIVESHEET.CELLS(1,1)=SHAMSI()
رسول
Posted at 13:48h, 25 فوریهسلام چرا من میخوام یه چیزی رو حساب کنم اخطارname رومیده مشکل کجاست؟
یاسین اسماعیل پور
Posted at 15:20h, 09 مارسخطای NAME علت های زیادی میتونه داشته باشه لطفا دقیق فرمولتون رو بنویسید تا بتونم کمکتون کنم
saeid
Posted at 08:37h, 21 فوریهسلام مجدد
يه سوال داشتم . ميخام بدونم ميشه كاري كرد كه هر روز خودش بياد بصورت انلاين ميزان باقي مانده روز را از يك تاريخ تا تاريخ روز ديگه را محاسبه كنه و نشون بده .
مثلا از امروز تا اخر هفته 5 روز مانده فردا تو همون سل بطور اتوماتيك بنويسه 4 روز مانده و به همين ترتيب ادامه بده
با تشكر
یاسین اسماعیل پور
Posted at 15:06h, 09 مارسسلام
تابع shamsi خود به خود با refresh آپدیت میشه و به طور اتوماتیک به روز میشه
sepidan
Posted at 17:54h, 20 فوریهسلام
ممنون از اطلاعات بسیار مفیدتون
من دنبال فرموای می گردم که مشخص کنه تاریخ مورد نظر چندمین هفته ساله. ممنون میشم راهنمایی بفرمایین.
یاسین اسماعیل پور
Posted at 15:05h, 09 مارسسلام
متاسفانه تابعی برای اینکار در این ماژول وجود نداره و باید از ماژول دیگه ای برای اینکار استفاده کنید. الان در حال حاضر نمیتونم راهنمایی خاصی بکنم چون تا حالا با این مورد سرو کار نداشتم متاسفانه
Mahdad
Posted at 14:11h, 20 فوریهسلام. ممنون از مطبلتون
یه سوال. من چطوری میتونم به کمک همین کدها تاریخ میلادی رو ب شمسی تبدیل کنم. اگر کدی برای این کار موچود هست لطفا اون رو هم بذارید.
یاسین اسماعیل پور
Posted at 15:00h, 09 مارسسلام. چشم انشالله در اولین فرصت
saeid
Posted at 18:28h, 19 فوریهیه درخواست دیگه هم داشتم
میشه تابعی بهم معرفی کنی که بشه باهاش از یک شیفت با اطلاعات زیاد سطرهای از ان شیت که باهم سل مشابه دارن را جداکرد و تو شیت دیگه بطور اتوماتیک و کنار هم نشون بده .
البته این کار را با اضافه کردن سطر جدید بطور مدام انجام بده .
یعنی من تو شیت اصلی اطلاعاتمو وارد کنم خودش بصورت اتوماتیک اون موردی که درخواست داده ام بیاد جدا کنه و به شیت بعدی اضافه کنه
ببخشید یکمی سوالم زیاده
ممنون از لطفت و سایت خوبت
یاسین اسماعیل پور
Posted at 14:46h, 09 مارساگه بخوای از فرمول استفاده کنی یکم پیچیده میشه و واقعا اینجا تو کامنت نمیشه جواب داد. اگه راه ساده تر هم بخوای میتونی از advanced filter استفاده کنی
saeid
Posted at 00:34h, 19 فوریهممنون از راهنماییت
لطف میکنی بگی فرمولی هست که بشه باهاش عدد 13 رو به اول 94 اضافه کنه و تو تاریخ بنویسه
مثلا : 94/12/01 بشه 1394/12/01 یا 94/12/01 بشه 13941201 تا بشه ازش اختلاف تاریخ گرفت
ممنون ازت دوست من
یاسین اسماعیل پور
Posted at 14:44h, 09 مارسسلام سعید جان. برای اینکار میتونی از علامت & استفاده کنی. “13”&”94/11/12″
saeid
Posted at 16:19h, 17 فوریهاقا ياسين
اين / را بايد بصورت دستي از بين اعداد حذف كرد يا تابعي براي حذف آن وجود داره
یاسین اسماعیل پور
Posted at 07:49h, 18 فوریهنه سعیدجان از تابع substitute میتونی برای اینکار استفاده کنی. مثال:
=SUBSTITUTE(“1394/10/01″;”/”;””)
saeid
Posted at 16:11h, 17 فوریهعالي بود
بيشتر مشكل كاريم با اين موارد برطرف شد
خيلي ممنون
یاسین اسماعیل پور
Posted at 07:45h, 18 فوریهخواهش میکنم سعید جان
جواد حسینی
Posted at 15:34h, 14 فوریهسلام
وقتی از تابع =dat() استفاده می کنم بصورت ??????1394/11/25
می خواستم ببینم مشکل از کجاست . روزهای هفته رو بصورت علامت ؟ نشان میدهد.
یاسین اسماعیل پور
Posted at 15:52h, 14 فوریهسلام
مشکل شما از encoding هست. تنظیمات ویندوز خودتون رو روی persian قرار بدید
gsanaee
Posted at 10:50h, 16 فوریهسلام و خسته نباشید در داخل پرانتز ()=shamsi آیا به یک سلول که که تاریخ میلادی دارد باید ارجاع داد تا تبدیل به تاریخ شمسی شود و فرمت ورودی تاریخ میلادی باید به چه صورت باشد
ماکان
Posted at 11:16h, 19 مارسخیر، اگر بدون پارامتر هم استفاده کنید ممکن است. (بین پرانتز خالی باشد)
جواد حسینی
Posted at 15:30h, 14 فوریهسلام
آقا یاسین دست شما درد نکنه آموزش فوق العاده خوبی بود.
من تازه با سایت شما آشنا شدم . واقعا عالیه . ان شاء اله که موفق باشید.
یاسین اسماعیل پور
Posted at 15:51h, 14 فوریهسلام. مرسی دوست من
babak
Posted at 20:08h, 12 فوریهدست شما درد نکنه خیلی عالی بود ما شرمنده ایم که فقط مصرف کننده هستیم
یاسین اسماعیل پور
Posted at 19:32h, 13 فوریهاختیار دارید بابک جان.
kaveh
Posted at 11:08h, 26 ژانویهسلام ، عالی بود …
یاسین اسماعیل پور
Posted at 22:17h, 26 ژانویهسلام. ممنون
حسین
Posted at 18:48h, 25 ژانویهممنونم عزیز
یاسین اسماعیل پور
Posted at 19:02h, 25 ژانویهخواهش میکنم
حسین
Posted at 22:35h, 23 ژانویهمن هدفم اینه که تاریخ چک رو که وارد میکنم موعد سررسید چک یه پیغامی بهم بده
ممنون میشم راهنمایی کنین
mahboub
Posted at 09:13h, 10 اکتبرمنم همین کارو میخوام انجام بدم
اگه متوجه شدین به منم بگین
حسین
Posted at 22:24h, 23 ژانویهسلام نه بلد نیستم
اگه امکانش هست بگین چکار کنم که تاریخ به صورت شمسی وارد شه
یاسین اسماعیل پور
Posted at 11:50h, 25 ژانویهحسین جان توضیحش یکم طولانیه و چون شما آشنایی نداری بعید میدونم بتونی پیادش کنی
حسین
Posted at 11:46h, 20 ژانویهسلام چطوری میتونم تاریخی رو که به صورت دستی وارد میکنم به صورت شمسی وارد کنم؟
یاسین اسماعیل پور
Posted at 00:38h, 23 ژانویهبا استفاده از برنامه نویسی VBA میشه اینکار رو انجام داد. آیا با VBA آشنایی دارید؟
امیر
Posted at 11:14h, 17 ژانویهسلام
یه سوال ؟؟؟!!!
من دوتا شیت دارم..! اولین شیت ماله امروزه ..! اطلاعات و وارد کردم حال میخواهم تاریخ امروز تو یه سلولی به صورت اتوماتیک ذخیره بشه.
یه روز بعد
من یه شیت دیگه ساختم باز اطلاعات امروزمم وارد کردم ذخیرشم کردم حالا برمیگردم به اطلاعات روز قبلم
چون روز قبلو با استفاده از کدهای بالایی!! تاریخو وارد کردم …! تاریخ امروز رو نشون میده.
چی کار کنم تو همون روز باقی بمونه و ذخیره بشه؟
یاسین اسماعیل پور
Posted at 01:21h, 18 ژانویهسلام. شما یا باید paste as value استفاده کنید و یا تاریخ رو با کد vba قرار بدید نه فرمول
صیاد
Posted at 09:51h, 16 ژانویهمطالب درنت پدویا وردبصورت غیرخوانانمایش داده می شود.
یاسین اسماعیل پور
Posted at 01:19h, 18 ژانویهlocale سیستمتون رو فارسی کنید
131810
Posted at 21:01h, 14 ژانویهسلام مهندس جان
تمام مطالب سایت خیلی مفید بود علی الخصوص مباحث تاریخ شمسی .خیلی ممنونم
یاسین اسماعیل پور
Posted at 01:13h, 18 ژانویهسلام
ممنون دوست عزیز
میثم
Posted at 23:05h, 13 ژانویهخیلیییییییییییییییی عالیییییییییییییی بود.چاکککککککککککرررررررررررررررررررررررررررررررررررمممممممممممممممممممممممممم یاسییییییییییین جانننننننننننننننننننننننننننننننننننن.ماچچچچچچچچچچچچچچچچچچ
یاسین اسماعیل پور
Posted at 01:12h, 18 ژانویهمرسییییییییییییییییییییییی 🙂
Alireza
Posted at 14:19h, 11 ژانویهآقا دمت گررررررررررررم.
خیلی ممنون
یاسین اسماعیل پور
Posted at 09:17h, 12 ژانویهممنون علیرضا جان
حسین ملوندی
Posted at 20:33h, 06 ژانویهبا سلام
عالی بود . عالی عالی
یاسین اسماعیل پور
Posted at 20:47h, 06 ژانویهممنون حسین جان.
رامین
Posted at 14:20h, 31 دسامبرسلام
اموزش کار با توابع تاریخ شمسی در اکسل پی دی اف می خواستم برام ایمیل کنید مرسی
امین
Posted at 19:33h, 23 دسامبرجناب اسماییل پور لطفا کمک کنید
یاسین اسماعیل پور
Posted at 18:30h, 06 ژانویهدوست من. من توضیحات رو کامل دادم. مطابق این توضیحات عمل کنید نباید مشکلی باشه. باید ببینید کجا رو دارید اشتباه میکنید
امین
Posted at 18:22h, 23 دسامبرلطفا یکی در مورد فرمول addday کمک کنه… وقتی میزنم error میده اما بقیه فرمول ها رو راحت میتونم بزنم…dayweek,validdate,,shamsi,,, اینا رو راحت میزنم
امین
Posted at 11:31h, 22 دسامبرسلام…آقا من با فرمول addday مشکل دارم .. هر چی گفتی هم رعایت کردم اما نمیشه… فرمول های دیگه هم مشکل ندارن …. لطفا کامل راهنمایی کنید خیلی لازمش دارم
سیروان
Posted at 19:04h, 20 دسامبرهمه کامنت های بالا رو خوندم ولی چیزی گیرم نیومد
سیروان
Posted at 18:56h, 20 دسامبرسلام …همه فرمول به درستی عمل نمیکنه وپیغام #VALUE! …. علتش چیه … ؟! لطفا راهنمایی کنید گام به گام مشکل از چیه ماکرو یا تاریخ دستگاه یا….
یاسین اسماعیل پور
Posted at 18:26h, 06 ژانویهسلام. علتش میتونه چیزهای زیادی باشه دوست من. تا فایلتون رو نبینم نمیتونم دقیق کمکتون کنم
محمد قدرتی
Posted at 10:12h, 01 دسامبرسلام
چجوری میتونم تاریخی ک کاربر وارد کرده رو با امروز اختلاف بگیرم
یا واضحتر بگم چجوری میتونم 1394/09/10 رو به تاریخ 13940910 تبدیل کنم تا بتونم تابع diff رو فراخوانی کنم؟؟؟
یاسین اسماعیل پور
Posted at 02:51h, 15 دسامبرسلام.
از تابع Replace استفاده کنید. مثال:
replace(“1394/09/01″;”/”;””)
صابر
Posted at 12:52h, 22 مارسمن هدر تابع Diff رو به این شکل عوض کردم:
Public Function Diff(ByVal strFromDate As String, ByVal strTo_Date As String) As Long
(متغیر ها رو از جنس رشته تعریف کردم)
بعد چهار خط زیر رو توی تابع Diff قرار دادم:
Dim FromDate As Long
Dim To_Date As Long
FromDate = CLng(Replace(strFromDate, “/”, “”))
To_Date = CLng(Replace(strTo_Date, “/”, “”))
به بقیه تابع هم دست نزدم
این جوری چه به صورت اول (13960102) چه به صورت جدید (1396/01/02) تاریخ رو به تابع ارسال کنیم جواب میده
محمد
Posted at 08:10h, 26 نوامبرz
mostebra
Posted at 19:21h, 24 نوامبراز افزونه پرنیان 7 به راحتترین شکل ممکن میشه استفاده کرد
یاسین اسماعیل پور
Posted at 21:33h, 25 نوامبرممنون از اینکه اطلاعاتتون رو در اختیار سایر دوستان گذاشتید
هومن
Posted at 10:00h, 23 نوامبرسلام
از ماژول توابع تاریخ شمسی استفاده کردم. با وارد کردن sh= دستور shamsi= هم نشون داده میشه اما نتیجه #NAME?
در سلول نمایش داده میشه. فرمت سلول روهم به جنرال هم text و هم Date فرقی نداره هیچ کدوم جواب نمیده
یاسین اسماعیل پور
Posted at 21:20h, 25 نوامبریه جای کار رو اشتباه کردی دوست من. فایلت رو بفرست تا برات بررسی کنم
محمد صادق
Posted at 07:35h, 22 نوامبر*******آی لــــــــــــــــــــاو یـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــو*******
یاسین اسماعیل پور
Posted at 21:17h, 25 نوامبرممنون از محبت قشنگت محمدصادق جان
محمد صادق
Posted at 07:34h, 22 نوامبرآی لــــــــــــــــــــاو یـــــــــــــــــــو
یاسین اسماعیل پور
Posted at 21:17h, 25 نوامبر:)) مرسی
محمد صادق
Posted at 07:33h, 22 نوامبرآی لاو یو
یاسین اسماعیل پور
Posted at 21:17h, 25 نوامبر🙂 ممنونننننننن
Amir
Posted at 21:40h, 08 نوامبرسلام. ممنون از ماکروی فوق العاده ای که گذاشتید.
اگه بخوام تابعی برعکس SubtractDay ایجاد کنم که یع تعداد روز رو به روز مشخصی اضافه کنه، و همینطور این اعمال رو برای ماه و سال هم بنویسم چطور باید این کارو بکنم؟ درصورت امکان راهنمایی کنید. با تشکر
یاسین اسماعیل پور
Posted at 21:18h, 11 نوامبراز تابع Addday میتونی استفاده کنی امیر جان
mojtaba
Posted at 17:55h, 02 نوامبربا سلام
احتراما انکود فایل ارسالی درست نیست. نه تو نوت پد نه توی ورد پد.
تو ورد آفیس با انکود ms-arabic فقط باز می کنه که اگر از اونجا کپی پیست کنم همه علامت سوال میره
MahName = “Ïí”
Case 11
MahName = “Èåãä”
Case 12
MahName = “ÇÓÝäÏ”
این هم نمونش.
با تشکر
یاسین اسماعیل پور
Posted at 02:50h, 07 نوامبرسلام مجتبی جان. انکود فایل مشکلی نداره و روی سیستم من و خیلی از دوستان جواب میده. نمیدونم چرا توی بعضی از سیستم ها این مشکل وجود داره
Nasser
Posted at 10:13h, 01 نوامبرخیلی ممنون از مطالب بسیار عالی شما
موفق باشید و سرافراز
یاسین اسماعیل پور
Posted at 10:45h, 01 نوامبرممنون ناصر جان
Amin
Posted at 16:55h, 21 اکتبرحل شد برادر. ایراد از کاراکتر بود. چرا تو متن از “;” استفاده کردی بجای “,”
یاسین اسماعیل پور
Posted at 00:32h, 24 اکتبردلیلش اینه که توی خیلی از سیستم ها عبارت جدا کننده پارامترهای اکسل “;” هست
Amin
Posted at 16:48h, 21 اکتبرسلام. آقا من از این ماکرو شما استفاده کردم، منتها به طرز عجیبی ضمن شناختن درست توابعتون متأسفانه بعد اینتر کردن با پیغام معروف:
.The formula you typed contains an error
مواجه میشوم. ممنون میشم اگه بگی چجوری میشه متوجه شد ایراد از کجاست.
مرتضی فرهادی
Posted at 23:09h, 17 اکتبربا سلام مشکل بنده با تایپ تاریخ شمسی در سلول است به عنوان مثال اگر داخل سلول تایپ کنیم 1394 اکسل این تاریخ رو با سال 1394 میلادی اشتباه میگیره یا اگر سال رو 94 تایپ کنیم به جای سال 1394 سال 1994 میلادی رو محاسبه می کنه
ممنون میشم راهنمایی کنید
یاسین اسماعیل پور
Posted at 23:41h, 20 اکتبرسلام مرتضی جان
شما باید فرمت سلول رو از date به text یا number تغییر بدی
امیر
Posted at 17:15h, 15 اکتبرواقعاً ممنون
امیدوارم خدا هرچی میخوای بهت بده:-)
فقط کاش برای تاریخ هایی که با / جدا شده هم یه راه حلی میزاشتی؟:-/
یاسین اسماعیل پور
Posted at 23:53h, 16 اکتبرانشالله در اینده نزدیک فرصت بشه ویرایشش میکنم و این مورد رو هم اضافه میکنم امیر جان
محمد
Posted at 14:48h, 05 اکتبرالبته در یک کامپیوتر همه کارها را انجام دادم درست بود نمی دونم ایراد از کجاست
محمد
Posted at 14:03h, 05 اکتبرمن همه کارها را مرحله به مرحله انجام دادم وshamsi-date.txt را با نوت پد یا ورد پد باز میکنم اما ارور میده حتی utf8 را هم انجام دادم اما نمیشه
amirbahman
Posted at 11:04h, 28 سپتامبربزرگوار مشکل بنده حل شد بازهم تشکر
یاسین اسماعیل پور
Posted at 19:37h, 02 اکتبرخداروشکر
amirbahman
Posted at 09:57h, 28 سپتامبربا سلام و تشکر بی نهایت از پاسخگویی شما
من همه ی موارد رو رعایت کردم متاسفانه #value! میشه به عنوان مثال من با برنامه حسابداری کلیه تاریخ فاکتورهارو دریافت کردم وبرای سررسید گزاری آنها در 120روز دیگر تاریخ صدور فاکتور را با 120 جمع کردم از تابع =addday(13940101;120) ولی ایراد گرفت حتی فرمت ستون تاریخ استخراج شده رو هم روی date گذاشتم
زی روبرتو
Posted at 11:03h, 27 سپتامبرسلام.فایل مربوط به تاریخ شمسی به هیچ صراطی مستقیم نیست!! نه note pad و نه word pad .کلا به هم ریخته نشون میده.راهی هست؟
یاسین اسماعیل پور
Posted at 19:35h, 02 اکتبرفایلتو بفرست خودم برات آپدیت کنم
rezaolyae
Posted at 07:55h, 21 سپتامبربا سلام و احترام خدمت دوستان عزیز
واقعا دستتون درد نکنه
می خواستم بدونم اگه بخواهیم مدت زمان یه تاریخی رو بدست بیاریم چگونه میشه این کا رو کرد
مثلا از 1393/07/01 تا 1394/05/31 چند روز هست .
ممنون
یاسین اسماعیل پور
Posted at 15:58h, 25 سپتامبربا استفاده از تابع diff که در مطلب راجع بهش توضیح داده شده میتونید این کار رو انجام بدید
وحید
Posted at 19:28h, 18 سپتامبرسلام اقا
بابت آموزشات خیلی ممنونم دستت درد نکنه
یه سوال داشتم از خدمتت،اگه بخوایم تاریخ با / از هم جدا بشن باید چی کار کرد؟ دنبال یه چیزی مثل input mask تو اکسس میگردم واسش ولی هرچی گشتم کمتر پیدا کردم.
ممنون میشم راهنمایی کنی
یاسین اسماعیل پور
Posted at 15:53h, 25 سپتامبرسلام وحید جان
ممنون
در مورد سوالات تا جایی که من میدونم اگه بخوای input mask مثل اکسس داشته باشی راهش کدنویسی VBA هست فقط
بهنام
Posted at 11:52h, 15 سپتامبرخیلی عالی و کاربردی بود
باتشکر از شما
یاسین اسماعیل پور
Posted at 23:38h, 16 سپتامبرممنون
حمید
Posted at 09:03h, 06 سپتامبرضمن تشکر از شما
برنامه برای من اجرا شد و لی مشکلی که وجود داره اینه که مثلا” فرمول =shamsi که تاریخ روز رو نشون میده اگر روز بعد فایل رو باز کنی با تاریخ جدید آبدیت نمیشه و همون تاریخ روز قبلش هست و اگر دبل کلیک کنی روی فرمول و اینتر کنی درست میشه اگر راهکاری وجود داره لطفا اعلام کنید
یاسین اسماعیل پور
Posted at 11:51h, 07 سپتامبرسلام حمیدجان
برای حل این مساله سه راه وجود داره:
یکی اینکه هر بار خواستی تاریخا آپدیت بشن از کلید ترکیبی ctrl+alt+shif+f9 استفاده کنی.
میتونی در event باز شدن فایلت کد Application.CalculateFullRebuild رو قرار بدی. که با هر بارر باز شدن فایل تابعت دوباره محاسبه بشه
یا در خط اول کد مربوط به تابع shamsi عبارت Application.Volatile رو قرار بدی که اینکار باعث میشه تابع شمسی با هر بار تغییر مقادیر سلول ها دوباره محاسبه بشه (مثل توابع now، offset و …).
hh
Posted at 00:03h, 03 سپتامبرسلام و عرض ادب مجدد.
اول اینکه من دست مریزاد میگم بابت این سایت آموزنده و تشکر میکنم بخاطر وقتی که میذارین.
مهندس وقتی فایل و باز میکنم کدها حذف نشدن همون طور که میفرمایین مشکل از تنظیمات ماکرو هست. اما چطور تنظیمات و اصلاح کنم؟.
سپاس.
hh
Posted at 23:32h, 01 سپتامبرسلام و عرض ادب.
منم دقیقا طبق دستور شما فایل تکست رو توی اکسل کپی میکنم. بعد فایل اکسل رو هم با پسوند xlsm ذخیره میکنم. تا وقتی که از فایل اکسل خارج نشدم جواب میده. اما اگر از فایل اکسل خارج شدم و دوباره وارد همون فایل اکسل که ذخیره اش کردم بشم توابع شمسی رو ندارم .
سپاس که وقت میذارین.
یاسین اسماعیل پور
Posted at 22:07h, 02 سپتامبرسلام حسین جان. احتمالاً مشکل به این دلیل هست که تنظیمات ماکرو شما غیرفعال هست و زمانی که فایل رو میبندید و دوباره باز میکنید ماکروها غیر فعال میشن. وقتی فایل رو دوباره باز میکنید کدها حذف شدن یا خیر؟ اگر کدها حذف نشدن ولی به توابع دسترسی ندارید مشکل از تنظیمات ماکروهاتون هست
RezaFallahi
Posted at 19:07h, 01 سپتامبرممنـــــــــــــــــــــــــــــــــــون از راهنمایی هاتون …..
راستی توی قسمت مثال تابع Make_Date اشتباه تایپی وجود داره عبارت MahDays به جای Make_Date استفاده شده.
و میخواستم بدونم این فونت که برای ارائه مطالب سایت از اون استفاده میکنید اسمش چیه ؟
یاسین اسماعیل پور
Posted at 22:05h, 02 سپتامبرمرسی از دقتت. اصلاح شد. فونتی که من اینجا استفاده میکنم اسمش DroidNaskh هست رضا جان.
hh
Posted at 16:36h, 30 آگوستسلام.
من فایل رو هم با نوت پد و هم با وردپد بازش کردم. با پسوند xlsm.و xlsb هم ذخیره اش کردم. اما وقتی که از ورکشیت خارج میشم و دوباره وارد میشم فایلها رو نمیتونه بخونه .ممنون میشم اگه راهنمایی بفرمایین.
یاسین اسماعیل پور
Posted at 22:56h, 31 آگوستفایل تکست رو که نباید با پسوند xlsm ذخیره کنید. باید کپی کنید تو فایل اکسلتون. توضیحات رو مجددا و با دقت بیشتر بخونید
persia.m.e
Posted at 18:23h, 29 آگوستسلام وقتی روی شیت راست کلیک میکنم view code غیر فعال هست چکار کنم؟
یاسین اسماعیل پور
Posted at 22:49h, 31 آگوستسلام. اگر فایل جدید ایجاد کنید هم این مشکل وجود داره؟ فایلتون رو از طریق بخش تماس برام ارسال کنید تا بررسی کنم.
RezaFallahi
Posted at 12:40h, 29 آگوستسلام
آیا تابع بدست آوردن سال بعد هم وجود داره مثل NextMah که ماه بعد رو نشون میده؟
یاسین اسماعیل پور
Posted at 17:10h, 29 آگوستخیر رضا جان چنین تابعی وجود نداره. اما شما به راحتی میتونی از طریق استفاده از فرمول LEFT به همون نتیجه برسی. مثال:
=LEFT(13940718;4)+1
RezaFallahi
Posted at 20:45h, 30 آگوستبا تشکر از پاسخ سوال قبل
آیا تابعی وجود داره که با گرفتن یک تاریخ تعداد روزهای باقی مانده تا پایان سال رو نشون بده؟ مثلا با دادن تاریخ 25 اسفند عدد 4 رو نشون بده.
یاسین اسماعیل پور
Posted at 23:00h, 31 آگوستسلام. نه این تابع وجود نداره اما شما میتونید خیلی راحت با استفاده از تابع left سال رو استخراج کنید، اون رو به علاوه یک کنید و با چسبوندن عبارت “0101” به انتهای متن، روز اول سال بعد رو ایجاد کنید و بعد اختلاف تاریخ موردنظرتون رو با اون از طریق تابع diff حساب کنید.
RezaFallahi
Posted at 08:44h, 01 سپتامبریاسین جان، منظور از چسبوندن عبارت “0101” به انتهای متن چیه ؟ یعنی دستی اونو به سال بدست اومده اضافه کنم یا این عبارت رو به انتهای تابه left اضافه کنم؟؟؟
درباره تابع diff هم باید بگم که، اگه تاریخ ها رو به صورت اسلش دار ( / ) وارد کنیم این تابع دیگه عمل نمی کنه.
یاسین اسماعیل پور
Posted at 18:23h, 01 سپتامبرشما باید 0101 رو با علامت & به انتهای سال بعد هست اضافه کنی. برای تابع diff هم خب مشخصه که باید اول فرمتش رو بدون / کنی بعد بزاری تو تابع.
رضا
Posted at 12:46h, 10 آگوستمررررسی. آقا یاسین حل شد با همین فرمول شما. عالی. مرسی که خیلی زود جواب دادی و پیگیر هستی
یاسین اسماعیل پور
Posted at 14:19h, 10 آگوستخواهش میکنم رضاجان
رضا
Posted at 20:21h, 09 آگوستutf8 رو پیدا کردم و با اون سیو کردم ولی باز هم نشد. نوشته های فارسی ؟؟؟؟؟ نمایش داده میشه 🙁
یاسین اسماعیل پور
Posted at 00:04h, 10 آگوسترضاجان فایل shamsi-date.txt رو به جای نوت پد با wordpad باز کن و از داخل wordpad کپی کن و بعد داخل visual basic editor پیست کن ببین مشکلت حل میشه یا نه.
توحید
Posted at 10:45h, 23 آگوستسلام
مشکل من با استفاده از WORDPAD حل نشد
چه جوری به UTF8 تغییر بدم؟
ممنون
رضا
Posted at 20:15h, 09 آگوستفوق العاده عالییییی ممنون آقا یاسین. من هم مشکل کاراکتر فارسی به شکل ؟؟؟؟؟ رو دارم. توی نوت پد نوشته ها درسته ولی تو اکسل علامت سوال نشون میده. مشکل چیه؟ چطور با utf8 سیو کنم؟
phsnos
Posted at 20:08h, 09 آگوستپس چرا برای من متنی که با Shamsi-Date.txt ذخیره میکنم و با نوت پد باز میکنم هیچکدوم از متناش فارسی نیس؟ اون تنظیمات utf8 کجاس؟
یاسین اسماعیل پور
Posted at 00:04h, 10 آگوستفایل shamsi-date.txt رو به جای نوت پد با wordpad باز کن و از داخل wordpad کپی کن و بعد داخل visual basic editor پیست کن ببین مشکلت حل میشه یا نه.
حمید
Posted at 13:11h, 08 آگوستسلام
آقا یاسین ممنونم از راهنمایتون
کاری که گفته بودی با slxm سیو کنیم همون ماکرو؟
یاسین اسماعیل پور
Posted at 16:44h, 08 آگوستبله. فایل هایی که ماکرو و کد VBA دارند رو باید با XLSM یا XLSB ذخیره کنی حمیدجان.
یاسین اسماعیل پور
Posted at 14:04h, 24 جولایوحیدجان فک کنم خوب نخوندی مطلبو. تابع diff که تو متن توضیح دادم برای همینکار هست
vahid
Posted at 14:57h, 24 جولایچرا یاسین جان
ولی اون اختلاف رو به صورت روز میده
من نتیجه رو به صورت سال و ماه و روز میخوام
مثلا نتیجه بشه 25/8/20 25 سال و 8 ماه و 20روز
یاسین اسماعیل پور
Posted at 18:41h, 26 جولایتابعی واسه این کار وجود نداره خودت میتونی با یه محاسبه تقسیم و مانده به جواب مدنظرت برسی وحید جان
vahid
Posted at 14:02h, 27 جولایباشه ممنون
یاسین اسماعیل پور
Posted at 14:32h, 27 جولایخواهش
مریم
Posted at 13:14h, 20 دسامبراقا یاسین میشه توضیح بدین
vahid
Posted at 14:59h, 24 جولایواسه اون مشکل دیگه ام چی؟؟ میشه با یه پسوند دیگه واسم میل کنی اگه امکانش هست؟!!
ممنون
vahid
Posted at 13:43h, 24 جولایواسه منم قسمت ها فارسی فایل مشکل داره ، با utf8 هم ذخیره میکنم
اگه راه کاری پیشنهاد بدین ممنون میشم
vahid
Posted at 13:20h, 24 جولایسلام
من اختلاف دو تاریخ رو به صورت روز و ماه وسال میخوام
تابعش موجود نیست ، چکار کنم؟؟
ممنون
محمدمهدی
Posted at 10:10h, 15 جولایاگه بخوام تو یک ستون تاریخ رو از اول ماه بنویسه تا اخرش چیکار باید بکنم؟! تابع خاصی داره؟
یاسین اسماعیل پور
Posted at 21:41h, 18 جولایبرای اینکار تابع خاصی نداره محمد مهدی جان. باید با استفاده ترکیبی از تابع row، تابع shamsi و تابع addday پیاده سازی کنیش.
حامد شرقی
Posted at 19:24h, 07 ژوئنسلام
این ستون شمسی برای من هم حیاتیه
اگر لطف بفرمایید دقیقا توضیح بدهید ترکیب دستورات برای ساختن ستون یک ماه شمسی در اکسل به چه صورتیه؟
اینجا را کلیک کن
Posted at 15:21h, 08 ژوئنسلام ، آقای حامد شرقی
جواب شما رو در پایین صفحه دادم
موفق باشید – خانیکی
0919-302-6452
mahdij
Posted at 09:56h, 28 ژوئنعالی بود ممنون
من تازه با سایت آشنا شدم
خیلی برام مفید بود
یاسین اسماعیل پور
Posted at 15:39h, 28 ژوئنممنون مهدی جان.
ARASH
Posted at 13:13h, 18 ژوئنمرسی خیلی عالی بود
یاسین اسماعیل پور
Posted at 17:08h, 19 ژوئنممنون
fatemeh
Posted at 20:38h, 25 میبه صورت text سیوش میکنم با adobe بازش میکنم اصن کلا زبونش میریزه به هم
اگرم همونجا کپی پیست کنم که ؟؟؟؟؟؟ میاره به جای فارسیاش
یاسین اسماعیل پور
Posted at 20:59h, 25 میچرا با adobe باز میکنید؟ به صورت txt ذخیرش کنید و توی نرم افزار notepad ویندوز بازش کنید ببینید مشکل داره کلمات فارسی یا خیر.
fatemeh
Posted at 16:44h, 25 میآقای اسماعیل پور شرمنده منم یه چند وقتیه مشکل آقای احمد رو دارم !!!!!
نوشته ها (کاراکترهای فارسی ) به صورت ‘????? ???? ??? ?????? ??? داده میشه . utf8 رو از کجا پیدا کنم؟
یاسین اسماعیل پور
Posted at 19:59h, 25 میسلام. شما وقتی قایل Shamsi-Date.txt رو دانلود میکنید و توی notepad باز میکنید نوشته های فارسی به صورت صحیح نمایش داده میشه یا خیر؟
fatemeh
Posted at 15:17h, 22 میآقای اسماعیل پور فوق العاده عالییییی بود.
دستتون درد نکنه
یاسین اسماعیل پور
Posted at 16:17h, 22 میخواهش میکنم. خوشحالم بدردتون خورد.
hamed
Posted at 09:39h, 14 میبا سلام در msp چکار کنیم
احمد
Posted at 23:22h, 07 میبا سلام
نوشته ها (کاراکترهای فارسی ) به صورت ‘????? ???? ??? ?????? ??? داده میشه . این مشکل رو چطور حل کنم؟
یاسین اسماعیل پور
Posted at 23:58h, 07 میسلام احمد جان. موقعی که تو NOTEPAD سیستم باز میکنی هم این مشکل رو داره؟ این مساله معمولا به خاطر اینه که تنظیمات ویرایشگرت باید روی UTF8 باشه. اگر تنظیماتت رو روی utf8 بزاری باید درست بشه.
سهیل
Posted at 11:44h, 29 آوریلبا تشکر از شما و برنامه نویس این کد ها
یک باگ جالب در مورد فرمول dayweek هست. این فرمول قرار است روز هفته یک تاریخ مشخص را برگرداند. طبق بررسی من، از امروز به عقب تا تاریخ 1380/10/11 (سه شنبه) این فرمول درست کار می کند ولی روز قبلش را اشتباه نشان می دهد (می شود چهارشنبه به جای دوشنبه) و همینطور از این روز به قبل، ایام هفته برعکس نشان می دهد یعنی هفته با جمعه شروع می شود و روز بعدش پنجشنبه است و روز قبلش چهارشنبه الخ.
من کد نویسی بلد نیستم ولی اگر توانستم این کد را درست کنم اطلاع می دهم. خوشحال میشم اگر کسی تونست درستش کنه به من هم اطلاع بده
یاسین اسماعیل پور
Posted at 11:46h, 29 آوریلممنون که اطلاع دادی سهیل جان. چک میکنم ببینم مشکلش چیه خودم تغییر میدم کدش رو
جمشید
Posted at 20:44h, 27 آوریلسلام … تنها از فرمول ()Shamsi= به درستی عمل میکنه بقیه که میزنم این میگه #VALUE! …. علتش چیه … ؟!
یاسین اسماعیل پور
Posted at 20:55h, 27 آوریلبه احتمال زیاد پارامترها رو با فرمت اشتباهی استفاده میکنید. نباید مشکلی وجود داشته باشه
محمدرضا مرادی
Posted at 22:40h, 21 آوریلسلام
با اجازه شما لینک مطلب بالا را به مطلب ارائه شده در وبلاگم اضافه کردم.
http://tarfandha.blog.ir/post/220
موفق باشید.
یاسین اسماعیل پور
Posted at 11:14h, 23 آوریلاجازه ما هم دست شماست محمدرضا جان.
hamed
Posted at 14:16h, 15 آوریلفایل متنی مربوط به تاریخ شمسی مطالب فارسی را به درستی نمایش نمیدهد. لطفاً یک لینک دانلود دیگر ارائه دهید.
jimmy
Posted at 00:32h, 01 اکتبرسلام به شما مدیر سایت و شما خواننده ی محترم
یکی از پر کاربردترین تابع های اکسل همین تابع تاریخ شمسی هست.
برای راحتی کار با این توابع شما میتونید توابعی که لازم دارید رو بجای اسم انگلیسی با اسم فارسی فراخوانی کنید برای این منظور برید به ماژول1 و اسم تابع مورد نظر رو با سرچ پیدا کنید و بعد اسم تابع رو در هر جای اون تابع اومده به فارسی تغییر بدید و برای فراخوانی تابع در محیط اکسل تابع رو با حروف فارسی فراخوانی کنید!! (عملا دیگه نیازی نیست تغییر زبان بدید و انگلیسی کنید) برای من که تابع ()DAT= مورد استفاده بود dayweek که به فارسی روز هفته رو وارد میکرد برداشتم (لازم نداشتمش) و با تغییر اسم تابع و دستور داخل تابع به ()تا= خیلی کارم راحت شد.
مرسی بابت مطالب خوبتون
برای اینکه کامنتم بالای کامنتها بیاد مجبور شدم از پاسخ به استفاده کنم!!! لطفا کامنتهای جدید رو بالا بیارید 🙂 ممنون