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

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

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

=TIMEVALUE(REPLACE(A1,3,0,":"))

این فرمول فرض می کند که مقدار زمان (بدون دو نقطه) در سلول A1 است و از چهار رقم تشکیل شده است. بنابراین، اگر سلول A1 حاوی مقداری مانند 1422 باشد، فرمول 14:22 را به عنوان مقدار زمان واقعی برمی گرداند. (شاید لازم باشد سلول را به عنوان مقدار زمانی قالب بندی کنید.)

اگر سلول ورودی اصلی شما ممکن است دارای زمانی باشد که فقط از سه رقم استفاده می کند، مانند 813 به جای 0813، پس باید از فرمول کمی متفاوت استفاده کنید:

=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),0)

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

Private Sub Workbook_SheetChange(ByVal Sh As Object, _
  ByVal Target As Excel.Range)
    Dim TimeStr As String

    On Error GoTo EndMacro
    If Application.Intersect(Target, Range("C7:D15")) Is Nothing Then
        Exit Sub
    End If
    If Target.Cells.Count > 1 Then
        Exit Sub
    End If
    If Target.Value = "" Then
        Exit Sub
    End If

    Application.EnableEvents = False
    With Target
        If .HasFormula = False Then
            Select Case Len(.Value)
                Case 1  e.g., 1 = 00:01 AM
                    TimeStr = "00:0" & .Value
                Case 2  e.g., 12 = 00:12 AM
                    TimeStr = "00:" & .Value
                Case 3  e.g., 735 = 7:35 AM
                    TimeStr = Left(.Value, 1) & ":" & _
                    Right(.Value, 2)
                Case 4  e.g., 1234 = 12:34
                    TimeStr = Left(.Value, 2) & ":" & _
                    Right(.Value, 2)
                Case Else
                    Err.Raise 0
            End Select
            .Value = TimeValue(TimeStr)
        End If
    End With
    Application.EnableEvents = True

    Exit Sub

    EndMacro:
    MsgBox "You did not enter a valid time"
    Application.EnableEvents = True
    ActiveCell.Offset(-1, 0).Select
End Sub

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

http://cpearson.com/excel/DateTimeEntry.htm
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

110 نفر آنلاین
0 عضو و 110 مهمان در سایت حاضرند
بازدید امروز: 16356
بازدید دیروز: 25459
بازدید کل: 15243872
...