تقاضایی راهنمایی در مورد ماکرونویسی

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

    • 2014/10/03
    • 8

    تقاضایی راهنمایی در مورد ماکرونویسی

    با سلام من یه دستور ماکرو دارم که تاریخ آخرین تغییرات هر ردیف را در سلول تعیین شده ذخیره میکنه
    این دستور فقط روی یک شیت قابل اجراست و می خواستم بدونم چجوری میتونم اون رو برای چندین شیت معین اجرا کنم که نیازی به نوشتن این ماکرو برای هر شیت نباشه
    مثلاٌ دستور ماکرو که در پائین نوشتم را برای شیت های 2 تا 9 اجرا کنه و با بقیه شیت ها هم کاری نداشته باشه
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Value As Variant
    If Not Intersect(Target, Range("D4: D5000")) Is Nothing Then
    For Each Value In Target
    If Value <> "" Then
    Range("F" & Value.Row).Value = Now
    End If
    Next Value
    End If
    End Sub

    لینک فایل نمونه:
    AutoInsertLastUpdateDate
  • khakzad

    • 2010/03/17
    • 2034
    • 85.00

    #2
    سلام
    می تونید این کد رو توی یک ماژول بنویسید و در
    کد:
    [COLOR=#333333]Private Sub Worksheet_Change(ByVal Target As Range)[/COLOR]
    اون ماکرو رو فراخوانی کنید. اصطلاحا call کنید
    [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

    [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
    [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
    :wcom:

    [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
    [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
    [/CENTER]

    کامنت

    • newertebat

      • 2014/10/03
      • 8

      #3
      روش call رو بلد نیستم ، ولی پیدا کرده و تست میکنم
      با این دستور چه اتفاقی میافته و مهمتر اینکه کجا باید اسم شیت هایی رو که میخوام تعیین کنم؟

      کامنت

      • khakzad

        • 2010/03/17
        • 2034
        • 85.00

        #4
        توی هر شیت باید این کد رو بنویسید
        هر شیت یک
        کد:
        [B][FONT=Tahoma]
        [COLOR=#333333]Private Sub Worksheet_Change(ByVal Target As Range)
        call macro[FONT=Tahoma]1Private Sub Worksheet_Change(ByVal Target As Range) داره
        پس برای هر شیت اینو می نویسید
         به عبارتی:
        
        [FONT=Tahoma]end sub[/FONT]
        [/FONT]
        [/COLOR][/FONT][/B]
        [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

        [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
        [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
        :wcom:

        [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
        [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
        [/CENTER]

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4598
          • 100.00

          #5
          ظاهرا پاسخ اين سوال داده شده.
          تاپيك حل شد

          کامنت

          چند لحظه..