اجرای کد بعد از زدن کلید اینتر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • master

    • 2010/07/18
    • 118

    اجرای کد بعد از زدن کلید اینتر

    سلام
    یه ستون دارم که در اون تاریخ شمسی وارد میشه میخوام وقتی تاریخ وارد شد و کلید اینتر زده شد اول اینکه صحت تاریخ بررسی بشه اگه اوکی بود اون رو طبق فرمت
    1395/12/20
    در اون سلول ذخیره کنه و بعدش بره یه ستون کناری(صحت تاریخ هم بررسی بشه که مثلا 1395/13/35 وارد نشده باشه)
    تا حدودی بعضی قسمتا رو بلد هستم اما اون ورود اطلاعات یکم پیچیده هست
    مشکل این هست که تاریخ به صورت های زیر ممکنه وارد بشه و همه رو باید ساپورت کنه!!!
    20121395
    13951220
    201295
    951220
    20/12/1395
    1395/12/20
    20/12/95
    95/12/20
    20.12.1395
    1395.12.20
    20.12.95
    95.12.20
    بعد دو تا سلول ها داریم که یکیش داخل ماه (به عدد) نوشته شده و یکیش سال
    حالا اگه عدد یک یا دو رقمی وارد شد سال و ماه رو از اون دو تا سلول به این عدد اضافه کنه و تاریخ رو کامل کنه
    اگر سه یا چهار رقمی وارد شد فقط سال رو از اون سلول بخونه و بهش اضافه کنه

    میشه یکم راهنمایی کنید توی قسمن بررسی ورودی سلول چبکار کنم؟
    ضمنا میشه کاری کرد اگه توی اون سلول دو بار کلیک شد از این پنجره هایی که تاریخ ماهانه هستن ظاهر بشه و تاریخ رو از اون انتخاب کنیم؟
    فکر میکنم کلش خیلی کار داره از دوستان اگه کسی هر قسمتش رو میتونه راهنمایی کنه ممنون میشم
    با تشکر
  • master

    • 2010/07/18
    • 118

    #2
    سلام
    خودم یه فایل ابتدایی درست کردم ولی ارور میده
    من میخوام توی ستون B وقتی اینتر زدم کد اجرا بشه یه سرچی زدم دیدم یه همچین کدی رو باید بنویسم
    کد:
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Me.Range("B1:B1000")) Is Nothing Then
      On Error Resume Next
      Application.OnKey "~", "EnterPressKey"
     End If
          
    End Sub
    بعد اومدم EnterPressKey رو هم جداگانه براش کد نوشتم و توی یه ماژول جدید ذخیره کردم
    مشکل اینجاست وارد قسمت EnterPressKey که میشه به متغیر گیر میده چطوری باید حلش کنم؟
    فایل رو هم پیوست کردم

    ضمنا یه روش توی ادرس زیر نوشته که میشه به اکسل اضافه کرد
    کد:
    http://stackoverflow.com/questions/11153995/is-there-any-event-that-fires-when-keys-are-pressed-when-editing-a-cell?answertab=oldest#tab-top
    وقتی این اضافه بشه میشه از pressKey راحت توی اکسل استفاده کرد اگه این بشه که خیلی عالی و مفید هست

    و در اخر توی کد نوسی محیط vb فرق این دو تا چی هست؟
    Sheet1(Sheet1)
    ThisWorkbook
    با تشکر
    فایل های پیوست شده
    Last edited by master; 2016/12/17, 12:42.

    کامنت

    • iranweld

      • 2015/03/29
      • 3341

      #3
      فایل پیوست را بررسی بفرمایید

      بر روی سلولهای ستون a دبل کلیک نمایید فرم انتخاب تاریخ باز میگردد
      فایل های پیوست شده

      کامنت

      چند لحظه..