کار با توابع تاریخ شمسی در اکسل

تاریخ شمسی در اکسل

کار با توابع تاریخ شمسی در اکسل

سلام به همه دوستان

امیدوارم سال جدید رو به خوبی شروع کرده باشید و هرچه سال جلوتر میره اتفاقهای خوب بهتری براتون بیافته. در این مطلب میخوام یکی از روشهای استفاده از تاریخ شمسی در اکسل رو براتون معرفی کنم. نحوه استفاده از تاریخ شمسی در اکسل برای خیلی از دوستان سوال هست. برای اینکار راه های زیادی داره که هر کدوم مزایا و معایب خودشون رو دارند. طبیعیه که ممکنه راه های بهتری برای کار با تاریخ شمسی در اکسل وجود داشته باشه. در صورتی که راه بهتری میشناسید خوشحال میشم در نظرات عنوان کنید تا سایر دوستان هم استفاده کنند.

خب بریم سراغ اصل مطلب. ابتدا یک شیت جدید باز کنید. حالا مثل تصویر زیر روی 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 (یکشنبه)

امیدوارم از این مطلب استفاده برده باشید. سال نو مبارک.

پی‌نوشت: کدهایی که در این آموزش ازشون استفاده کردم نوشته‌ی من نیست. اگر کسی میدونه که این کدها اجازه انتشار نداره لطفاً به من اطلاع بدید تا این مطلب رو حذف کنم.

390 Comments
  • سارا
    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 که به فارسی روز هفته رو وارد میکرد برداشتم (لازم نداشتمش) و با تغییر اسم تابع و دستور داخل تابع به ()تا= خیلی کارم راحت شد.
      مرسی بابت مطالب خوبتون

      برای اینکه کامنتم بالای کامنتها بیاد مجبور شدم از پاسخ به استفاده کنم!!! لطفا کامنتهای جدید رو بالا بیارید 🙂 ممنون

Post A Comment