ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
10 visibility
موضوع: آفیس توسط:

گاهی اوقات ممکن است برای ایجاد یک عدد منحصر به فرد برای کاربرگ های خود به اکسل نیاز داشته باشید. به عنوان مثال، می توانید از اکسل برای ایجاد فرم هایی مانند صورت حساب، صورت حساب، یا برگه های ردیابی استفاده کنید، و برای هر فرم به شماره های منحصربه فرد نیاز دارید (این را شماره بلیط می نامیم). این البته به این معنی است که اکسل باید شماره را از یک جلسه به جلسه دیگر به خاطر بسپارد.

چند راه برای حل این مشکل وجود دارد. اگر اعداد نیازی به پشت سر هم بودن ندارند، می توانید یک شماره بلیط بر اساس زمان فعلی روز، در چند ثانیه ایجاد کنید. ماکرو زیر را می توان به شی ThisWorksheet اضافه کرد:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Dim lTicket As Long
    lTicket = CLng(Time * 24 * 60 * 60)
    Sh.Range("A1") = lTicket
End Sub

ماکرو هر بار که یک کاربرگ جدید به ورک بوک اضافه می شود فعال می شود. زمان فعلی را می گیرد، آن را به یک عدد صحیح ثانیه تبدیل می کند و سپس آن مقدار را در سلول A1 قرار می دهد. احتمال تکرار شماره بلیط در هر روز معین بسیار دور است، اما ممکن است در طول زمان اتفاق بیفتد. (به عنوان مثال، اگر امروز دقیقاً در همان ساعتی که دیروز یا هفته گذشته انجام دادید، بلیط ایجاد کنید.)

برای حل این مشکل، می توانید یک شماره بلیط به روش زیر ایجاد کنید:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Dim sTemp As String
    sTemp = Format(Date, "yymmdd") & Format(Time, "hhmmss")
    Sh.Range("A1") = sTemp
End Sub

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

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

image

شکل 1. کادر محاوره ای New Name.

  1. تب Formulas روبان را نمایش دهید.
  2. روی ابزار Define Name در گروه Defined Names کلیک کنید. اکسل کادر محاوره ای New Name را نمایش می دهد. (شکل 1 را ببینید.)
  3. در کادر Name نامی مانند MaxNum وارد کنید.
  4. در قسمت Refers To در پایین کادر محاوره ای، یک علامت مساوی و به دنبال آن مقداری که می خواهید برای شماره بلیط بعدی استفاده شود وارد کنید.
  5. روی OK کلیک کنید. نام جدید در ورک بوک ذخیره می شود.

اکنون ماکرو زیر را به شی ThisWorksheet در ویرایشگر VBA اضافه کنید:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Dim iMax As Integer
    iMax = Mid(ThisWorkbook.Names("MaxNum"), 2)
    Sh.Range("A1") = iMax
    iMax = iMax + 1
    ThisWorkbook.Names("MaxNum").RefersTo = "=" & iMax
End Sub

این ماکرو هر بار که یک کاربرگ جدید را در ورک بوک وارد می کنید اجرا می شود. مقداری را که در MaxNum ذخیره کرده اید بازیابی می کند، آن مقدار را در سلول A1 کاربرگ جدید قرار می دهد و سپس مقدار ذخیره شده در MaxNum را افزایش می دهد.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

80 نفر آنلاین
0 عضو و 80 مهمان در سایت حاضرند
بازدید امروز: 15425
بازدید دیروز: 8462
بازدید کل: 15426114
...