جمع زدن و فرمول کردن فرمت text دارای دو نقطه

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

    • 2021/01/11
    • 43

    پرسش جمع زدن و فرمول کردن فرمت text دارای دو نقطه

    سلام
    من از اینجا به وسیله فرمت text و vba کاری کردم که زمان رو بدون استفاده از دو نقطه بنویسم ولی مشکلی که به وجود اومد این بود که نه جمع میشه نه فرمول روش کار میکنه
    با فرمت معمولی کارکرد و اضافه کار و کسر کار رو میاره ولی این مدلی هیچی نمیاره
    نمونه فایل رو میذارم
    فایل های پیوست شده
  • ali_nmt

    • 2021/01/11
    • 43

    #2
    از کد زیر باید استفاده کنیم
    فرمت هم باید روی زمان بذاریم



    Digits Example Remarks
    1 1 Converted to 12:01:00 AM
    2 23 Converted to 12:23 AM
    3 123 Converted to 1:23 AM
    4 1234 Converted to 12:34
    5 12345 Converted to 1:45, NOT 12:23:45
    6 123456 Converted to 12:34:56



    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim TimeStr As String

    On Error GoTo EndMacro
    If Application.Intersect(Target, Range("A1:A10")) 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 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
    TimeStr = Left(.Value, 1) & ":" & _
    Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
    Case 6 ' e.g., 123456 = 12:34:56
    TimeStr = Left(.Value, 2) & ":" & _
    Mid(.Value, 3, 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
    End Sub

    چجوری کد ها رو ارسال کنم که شکلک یا هر چیز دیگه ای رو نیاره؟
    اون هایی که شکلک زرد هستن :-23-:هستند
    و اونهایی که شکلک قرمز هستند :-34-: هستند

    خط تیره ها رو نادیده بگیرید ولی دو نقطه ها رو بزنید
    Last edited by ali_nmt; 2021/02/02, 13:31.

    کامنت

    چند لحظه..