نمایش نتایج: از شماره 1 تا 5 , از مجموع 5

موضوع: راهنمایی در مورد اصلاح کدهای VBA

  1. #1


    آخرین بازدید
    2013/03/13
    تاریخ عضویت
    October 2012
    نوشته ها
    7
    امتیاز
    0
    سپاس
    0
    سپاس شده
    0 در 0 پست
    تعیین سطح نشده است

    Lightbulb راهنمایی در مورد اصلاح کدهای VBA

    با سلام خدمت اساتید محترم
    من یه سری کد نوشتم ولی بین کار ارور میده میخواستم ببینم مشکل مربوط به کدام قسمت کدنویسی هستش:

    (Sheet3.Cells(m, 3) = Sheet2.Cells(14, 2
    For i = 2 To 13
    t = 2
    If Sheet2.Cells(i, 3) <> 0 Then
    (u = Sheet2.Cells(i, 3
    For j = 1 To 25
    If Sheet4.Cells(1, 7 * j) = u Then
    w = j - 1
    For i = 3 To 5000
    If Sheet4.Cells(1, 1 + 7 * w) <> 0 Then t = 1
    next i
    t = t + 1
    (Sheet4.Cells(t, 1 + 7 * w) = Sheet2.Cells(2, 2
    (Sheet4.Cells(t, 2 + 7 * w) = Sheet2.Cells(14, 2
    (Sheet4.Cells(t, 4+ 7 * w) = Sheet2.Cells(i, 5
    (Sheet4.Cells(t, 5 + 7 * w) = Sheet2.Cells(i, 6
    End If
    Next j
    End If
    Next i

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

  2.  

  3. #2


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: راهنمایی در مورد اصلاح کدهای VBA

    لطفا فایل مربوطه رو پیوست کن ازین کد ها نمیشه چیزی در آورد

  4. #3


    آخرین بازدید
    2013/03/13
    تاریخ عضویت
    October 2012
    نوشته ها
    7
    امتیاز
    0
    سپاس
    0
    سپاس شده
    0 در 0 پست
    تعیین سطح نشده است

    RE: راهنمایی در مورد اصلاح کدهای VBA

    بفرمایید ممنون از لطفتون


    http://faupload.com/upload/91/Khordad/accounting.xlsx

    کد:
    For i = 2 To 13
    p = Sheet2.Cells(i, 5) + p
    q = Sheet2.Cells(i, 6) + q
    Next i
    If p <> q Then Sheet2.Cells(15, 2) = "جمع ستون بدهکار و بستانکار برابر نيست"
    If p = q Then
    y = Sheet2.Cells(2, 1)
    m = 2
    For i = 2 To 5000
    If Sheet3.Cells(i, 3) <> 0 Then m = m + 1
    Next i
    For i = 2 To 13
    If Sheet2.Cells(i, 3) <> 0 Then
    Sheet3.Cells(m, 1) = Sheet2.Cells(i, 1)
    Sheet3.Cells(m, 2) = Sheet2.Cells(i, 2)
    Sheet3.Cells(m, 3) = Sheet2.Cells(i, 3)
    Sheet3.Cells(m, 4) = Sheet2.Cells(i, 4)
    Sheet3.Cells(m, 5) = Sheet2.Cells(i, 5)
    Sheet3.Cells(m, 6) = Sheet2.Cells(i, 6)
    m = m + 1
    End If
    Next i
    Sheet3.Cells(m, 3) = Sheet2.Cells(14, 2)
    For i = 2 To 13
    t = 2
    If Sheet2.Cells(i, 3) <> 0 Then
    u = Sheet2.Cells(i, 3)
    For j = 1 To 25
    If Sheet4.Cells(1, 7 * j) = u Then
    w = j - 1
    For i = 3 To 5000
    If Sheet4.Cells(1, 1 + 7 * w) <> 0 Then t = 1
    next i
    t = t + 1
    Sheet4.Cells(t, 1 + 7 * w) = Sheet2.Cells(2, 2)
    Sheet4.Cells(t, 2 + 7 * w) = Sheet2.Cells(14, 2)
    Sheet4.Cells(t, 4 + 7 * w) = Sheet2.Cells(i, 5)
    Sheet4.Cells(t, 5 + 7 * w) = Sheet2.Cells(i, 6)
    End If
    Next j
    End If
    Next i
    For i = 2 To 10
    Sheet2.Cells(i, 3) = ""
    Sheet2.Cells(i, 5) = ""
    Sheet2.Cells(i, 6) = ""
    Next i
    Sheet2.Cells(2, 2) = ""
    Sheet2.Cells(14, 2) = ""
    Sheet2.Cells(15, 2) = ""
    Sheet2.Cells(2, 1) = y + 1
    this Workbook.Save
    End If

  5. #4


    آخرین بازدید
    2013/03/13
    تاریخ عضویت
    October 2012
    نوشته ها
    7
    امتیاز
    0
    سپاس
    0
    سپاس شده
    0 در 0 پست
    تعیین سطح نشده است

    RE: راهنمایی در مورد اصلاح کدهای VBA

    این کدها قابل اصلاح شدن هستند؟

  6. #5


    آخرین بازدید
    2022/06/28
    تاریخ عضویت
    May 2010
    محل سکونت
    بلژیک
    نوشته ها
    174
    امتیاز
    108
    سپاس
    0
    سپاس شده
    119 در 53 پست
    تعیین سطح نشده است

    RE: راهنمایی در مورد اصلاح کدهای VBA

    سلام دوست عزیز.

    ایرادی که کد شما دارد در تعریف متغیر مرتبط با حلقه ها است. شما دو حلقه تو در تو تعریف کرده اید و هر در هر دوی اینها از یک متغیر (i) برای شمارش استفاده کردید. این باعث شده است که کد شما ایراد پیدا کند. ایرادات دیگری نیز ممکن است در کد شما وجود داشته باشد. ولی ایرادی که شما مواجه شدید به دلیل استفاده از متغییر یکسان در دو حلقه تودرتو می باشد.

    لطفا از شمارنده های دیگر مثل j و k استفاده نمایید.


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است