ماکرو جمع دو محدوده

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali0253
    • 2017/04/01
    • 4

    [حل شده] ماکرو جمع دو محدوده

    با عرض سلام خدمت دوستان عزیز انجمن.دوستان بنده ماکرویی ایجاد کردم که مقادیر موجود در محدوده (A1:A15)و (B1:B15) را با هه جمع کنه.و در محدوده (C1:C15) درج کنه. اما اجرا نمیشه

    Sub NN1()
    Dim i As Integer
    For i = 1 To 15
    Range("c1:c15").Value = Range("a1:a15").Value + Range("b1:b15").Value
    Next i
    End Sub
    اما به روش زیر اجرا میشه.

    Sub MM1()
    Dim i As Integer
    For i = 1 To 15
    Cells(i, 3) = Cells(i, 1) + Cells(i, 2)
    Next i
    End Sub
    از دوستانی که بتونن کمک بکنن ممنون میشم اگه اشکال روش اول رو پیدا کنن.با تشکر فراوان.
  • Javid Mokhtari
    مدير تالار ويژوال بيسيك

    • 2012/01/16
    • 1212
    • 73.00

    #2
    نوشته اصلی توسط ali0253
    با عرض سلام خدمت دوستان عزیز انجمن.دوستان بنده ماکرویی ایجاد کردم که مقادیر موجود در محدوده (A1:A15)و (B1:B15) را با هه جمع کنه.و در محدوده (C1:C15) درج کنه. اما اجرا نمیشه

    Sub NN1()
    Dim i As Integer
    For i = 1 To 15
    Range("c1:c15").Value = Range("a1:a15").Value + Range("b1:b15").Value
    Next i
    End Sub
    اما به روش زیر اجرا میشه.

    Sub MM1()
    Dim i As Integer
    For i = 1 To 15
    Cells(i, 3) = Cells(i, 1) + Cells(i, 2)
    Next i
    End Sub
    از دوستانی که بتونن کمک بکنن ممنون میشم اگه اشکال روش اول رو پیدا کنن.با تشکر فراوان.
    با سلام...

    شما در روش دوم جمع بصورت سلول به سلول انجام دادین ولی در روش اول جمع بصورت محدوده کردین.یعنی شما گفتین محدوده a1:a15 را با محدوده b1:b15 جمع کن و این اشتباهه.اون حلقه هم اونجا هیچ کاربردی نداره
    [FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
    بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان

    شرکت در دوره:
    [/FONT][/SIZE]
    [SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
    [/B][/FONT][/SIZE]
    [/CENTER]
    [/INDENT]
    [/FONT]

    کامنت

    • rasools13

      • 2017/01/20
      • 360
      • 80.00

      #3
      با سلام
      Range("c1:c15") بیانگر یک محدوده شامل 15 سلول است و نمیتوان عملیات ریاضی را روی آن انجام داد مگر اینکه محدوده تنها شامل یک سلول باشد همانند Range("C1")...
      برای ارجاع دادن به یک سلول خاص معمولا از Cells استفاده میشه چون میتوان با دادن شماره سطر و ستون به سلول مورد نظر ارجاع داد..
      در این کار شما از For...Next استفاده می کنید اما در مورد اول از متغیر i در عبارات بین For...Next استفاده نکردین یعنی اگر هم
      Range("c1:c15").Value = Range("a1:a15").Value + Range("b1:b15").Value
      عبارت صحیحی باشد در آن صورت مقدار i تغییری در جواب نخواهد داشت حتی تا 1000 هم ادامه یابد.
      ..
      اما در مورد دوم چون از متغیر i در عبارت بین For...Next استفاده شده به ازای تغییر مقدار i جواب عبارت بین For...Next نیز متغیر خواهد بود
      [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
      [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
      [/CENTER]

      کامنت

      • ali0253
        • 2017/04/01
        • 4

        #4
        با عرض سلام مجدد خدمت دوستان عزیز و تشکر از دوستانی که جواب سوال رو دادن.دوستان اگه بخواهیم دو محدوده رو با هم جمع بزنیم چگونه باید این ماکرو رو بنویسیم.با تشکر

        کامنت

        چند لحظه..