اجرای دستور بصورت ردیف ردیف در یک ستون اکسل

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

    • 2013/10/28
    • 20

    [حل شده] اجرای دستور بصورت ردیف ردیف در یک ستون اکسل

    سلام میخواستم مقادیر ستون a رو +1 کنم و توی ستون b پرکنم البته بنده با روش حلقه for انجام دادم
    ولی مشکل اینجاست که وقتی توی ستون a هر ردیفش پرمیشه کد رو تا انتها میره یعنی ردیف های دیگه رو هم محاسبه میکنه
    روشی هست که فقط زمانی که مثلا ردیف a1 هستم محاسبه همون ردیف انجام بشه و ادامه پیدا نکنه البته با vba میخاستم انجام بشه
    ممنون
  • generalsamad
    مدير تالار توابع

    • 2014/06/22
    • 1496

    #2
    با سلام
    لطفا یک نمونه فایل قرار دهید و روی فایل درخواست را توضیح دهید
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • look20

      • 2013/10/28
      • 20

      #3
      چشم دقیقا میخوام مواردی که توی ستون a نوشته میشه با شرط نوشته شده توی vba توی ستون b پر بشه مشکل اینجاست که کل محاسبات رو انجام میده یعنی اگه تعداد رکورد زیاد بشه میشه وا ویلا میخام فقط برای همون ردیف انجام بشه ممنون
      فایل های پیوست شده
      Last edited by look20; 2022/04/13, 10:19.

      کامنت

      • generalsamad
        مدير تالار توابع

        • 2014/06/22
        • 1496

        #4
        با سلام
        این کد رو تست کنید ببینید چطوره
        کد PHP:
        Private Sub Worksheet_Change(ByVal Target As Range)
        If 
        Not Intersect(TargetMe.Range("A1:A30")) Is Nothing Then
            On Error Resume Next
            
        If Target <> "" Then
            tr 
        Target.Row
                Range
        ("B" tr) = Application.WorksheetFunction.VLookup(Range("A" tr), Sheet2.Range("A:B"), 20)
            
        End If
        End If
        End Sub 
        فایل های پیوست شده
        [CENTER]
        [SIGPIC][/SIGPIC]
        [/CENTER]

        کامنت

        • look20

          • 2013/10/28
          • 20

          #5
          :63:تقریبا مشکلم حل شد خدا خیرتون بده فقط یه مشکل حالا اگه اطلاعات وارد شده توی ردیف های ستون a توی لیست data نبود یا خالی بود اون ردیف در ستون b خالی بشه این رو هم لطف کنید ممنون چند روز گرفتارم کرده

          کامنت

          • generalsamad
            مدير تالار توابع

            • 2014/06/22
            • 1496

            #6
            با سلام
            این کد را جایگزین کنید
            کد PHP:
            Private Sub Worksheet_Change(ByVal Target As Range)
            If 
            Not Intersect(TargetMe.Range("A1:A30")) Is Nothing Then
                On Error Resume Next
                Range
            ("B" tr) = 0
                
            If Target <> "" Then
                    tr 
            Target.Row
                    Range
            ("B" tr) = Application.WorksheetFunction.VLookup(Range("A" tr), Sheet2.Range("A:B"), 20)
                
            End If
                If 
            Target "" Or Application.WorksheetFunction.VLookup(Range("A" tr), Sheet2.Range("A:B"), 20) = 0 Then
                    tr 
            Target.Row
                    Range
            ("B" tr) = 0
                End 
            If
            End If
            End Sub 
            [CENTER]
            [SIGPIC][/SIGPIC]
            [/CENTER]

            کامنت

            چند لحظه..