درج اتوماتیک تاریخ در سلول های ستون a پس از تایپ هر عبارتی در سلولهای ردیف های روبه روی آن

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • hasa2

    • 2015/01/09
    • 73
    • 56.00

    [حل شده] درج اتوماتیک تاریخ در سلول های ستون a پس از تایپ هر عبارتی در سلولهای ردیف های روبه روی آن

    سلام . یه مشکل دارم اونم اینکه طبق تصویر زیر :
    Click image for larger version

Name:	pix.gif
Views:	2
Size:	8.1 کیلو بایت
ID:	147185
    همانطور که تصویر مشخص شده ؛ قصد دارم در صورتی که در ستون های عنوان یک یا دو یا سه الی .... 10 هر چیزی تایپ شد؛ به صورت اتوماتیک در سلول ستون A تاریخ جاری سیستم درج بشه
    من این کد رو دارم برای یه همچین کاری :
    کد PHP:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range
    Dim c As Range 
    For Each c In Range("a2:a10000"
    If 
    <> "" And c.Offset(01) = "" Then 
    c
    .Offset(01) = Now() 
    c.Offset(10).Select 
    Exit Sub 
    End 
    If 
    Next 
    End Sub 
    اما این کد فقط در صورتی که چیزی تو سلول های ستون A تایپ بشه تاریخ رو در ستون B درج میکنه

    چطور میتونم این کد VBA رو مطابق با چیزی که میخوام تغییرش بدم ؟
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    نوشته اصلی توسط hasa2
    سلام . یه مشکل دارم اونم اینکه طبق تصویر زیر :
    [ATTACH=CONFIG]17262[/ATTACH]
    همانطور که تصویر مشخص شده ؛ قصد دارم در صورتی که در ستون های عنوان یک یا دو یا سه الی .... 10 هر چیزی تایپ شد؛ به صورت اتوماتیک در سلول ستون A تاریخ جاری سیستم درج بشه
    من این کد رو دارم برای یه همچین کاری :
    کد PHP:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range
    Dim c As Range 
    For Each c In Range("a2:a10000"
    If 
    <> "" And c.Offset(01) = "" Then 
    c
    .Offset(01) = Now() 
    c.Offset(10).Select 
    Exit Sub 
    End 
    If 
    Next 
    End Sub 
    اما این کد فقط در صورتی که چیزی تو سلول های ستون A تایپ بشه تاریخ رو در ستون B درج میکنه

    چطور میتونم این کد VBA رو مطابق با چیزی که میخوام تغییرش بدم ؟
    سلام،
    از کد زیر استفاده کنید :
    کد:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("b1:k1000")) Is Nothing Then
    On Error Resume Next
    If Target <> "" Then
    tr = Target.Row
    Range("a" & tr) = Format(Now, "dd/mm/yyyy hh:mm")
    End If
    End If
    End Sub
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • hasa2

      • 2015/01/09
      • 73
      • 56.00

      #3
      ممنون فقط یه مشکل کوچیک داره الان
      اگه یه ویرایش تو یکی از سلول های عنوان 1 تا 10 انجام بشه که قبلا وارد شده بودن تاریخ اون ردیف به روز میشه . که در واقع نباید بشه
      یعنی باید شرط رو جوری تغییر داد که فقط در صورتی تاریخ رو تو ستون a وارد کنه که a خالی باشه و اگه پر شده بود هیچ اتفاقی نیوفته
      Last edited by hasa2; 2018/09/14, 12:00.

      کامنت

      • M_ExceL

        • 2018/04/23
        • 677

        #4
        نوشته اصلی توسط hasa2
        ممنون فقط یه مشکل کوچیک داره الان
        اگه یه ویرایش تو یکی از سلول های عنوان 1 تا 10 انجام بشه که قبلا وارد شده بودن تاریخ اون ردیف به روز میشه . که در واقع نباید بشه
        یعنی باید شرط رو جوری تغییر داد که فقط در صورتی تاریخ رو تو ستون a وارد کنه که a خالی باشه و اگه پر شده بود هیچ اتفاقی نیوفته
        سلام
        بفرمایید :
        کد:
        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Me.Range("b1:k1000")) Is Nothing Then
        On Error Resume Next
        If Target <> "" Then
        tr = Target.Row
        If Range("a" & tr) = "" Then
        Range("a" & tr) = Format(Now, "dd/mm/yyyy hh:mm")
        End If
        End If
        End If
        End Sub
        [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
        [/CENTER]

        کامنت

        چند لحظه..