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

موضوع: حل یک مشکل

  1. #1


    آخرین بازدید
    2 هفته پیش
    تاریخ عضویت
    October 2013
    نوشته ها
    86
    امتیاز
    12
    سپاس
    0
    سپاس شده
    14 در 14 پست
    تعیین سطح نشده است

    حل یک مشکل

    با سلام خدمت دوستان
    بنده به مشکلی برخوردم در vba و هرچه تلاش کردم نتونستم حلش کنم حالا خواستار کمک شما دوستان هستم.
    مشکل بنده اینه که 2 تا ستون دارم یکی ستون A (عدد) و دیگری ستون B (متن)
    ستون اعداد یک سری اعداد هستند که 30تایی هستند یعنی از 1تا30 از 30 تا 60 الی....
    حالا میخوام زمانی که در 30 تای اول قبل از اولین متن در ستون B ستون c مثلا با عدد1 پر بشه و بعد از اولین متن ستون B چیزی نوشته نشه
    وهمچنین در 30 تا اول بعد از آخرین متن در ستون B تا عدد 30 در ستون c مثلا با عدد 2 پر بشه .
    ودر بقیه اعداد از 30 تا 60 الی .... همینجوری عمل کنه .
    فایل رو ضمیمه کرده ام .
    البته یه نکته بگم که اعدادی که در fuction برای a تعریف کردم همیجوری نوشتم چون ممکنه مثلا اولین متن در ستون B در مقابل عدد 5 از ستون A باشد و ممکنه در مقابل عدد 12 از ستونAباشد . .
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xls 2.xls اطلاعات (15.9 کیلو بایت, 20 نمایش)

  2.  

  3. #2


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام
    با درود فراوان
    این کار رو با این ماکرو می توانید انجام دهید .
    Sub m()
    Dim p, n, i, i2, i3
    p = 0
    n = ""
    For i = 1 To 10


    For i2 = 1 + p To 30 + p
    If Range("b3").Offset(i2, 0).Value <> "" Then

    If n = "" Then
    n = Range("b3").Offset(i2, 0).Row
    End If
    n2 = Range("b3").Offset(i2, 0).Row
    End If
    Next
    For i3 = 1 + p To 30 + p
    If Range("b3").Offset(i3, -1).Value <> "" And n <> "" Then
    If Range("b3").Offset(i3, 0).Row <= n2 Then Range("b3").Offset(i3, 4).Value = 0
    If Range("b3").Offset(i3, 0).Row < n Then Range("b3").Offset(i3, 4).Value = 1
    If Range("b3").Offset(i3, 0).Row > n2 Then Range("b3").Offset(i3, 4).Value = 2
    End If
    Next
    p = p + 30
    n = ""
    Next
    End Sub

    فایل نمونه هم قرا میدم


    نقل قول نوشته اصلی توسط reza_1001 نمایش پست ها
    با سلام خدمت دوستان
    بنده به مشکلی برخوردم در vba و هرچه تلاش کردم نتونستم حلش کنم حالا خواستار کمک شما دوستان هستم.
    مشکل بنده اینه که 2 تا ستون دارم یکی ستون A (عدد) و دیگری ستون B (متن)
    ستون اعداد یک سری اعداد هستند که 30تایی هستند یعنی از 1تا30 از 30 تا 60 الی....
    حالا میخوام زمانی که در 30 تای اول قبل از اولین متن در ستون B ستون c مثلا با عدد1 پر بشه و بعد از اولین متن ستون B چیزی نوشته نشه
    وهمچنین در 30 تا اول بعد از آخرین متن در ستون B تا عدد 30 در ستون c مثلا با عدد 2 پر بشه .
    ودر بقیه اعداد از 30 تا 60 الی .... همینجوری عمل کنه .
    فایل رو ضمیمه کرده ام .
    البته یه نکته بگم که اعدادی که در fuction برای a تعریف کردم همیجوری نوشتم چون ممکنه مثلا اولین متن در ستون B در مقابل عدد 5 از ستون A باشد و ممکنه در مقابل عدد 12 از ستونAباشد . .
    فايل هاي پيوست شده فايل هاي پيوست شده
    ---------------------------------------------------------------------------------------------------
    بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
    shamsololama@yahoo.com
    09177733411

  4. سپاس ها (1)


  5. #3


    آخرین بازدید
    2 هفته پیش
    تاریخ عضویت
    October 2013
    نوشته ها
    86
    امتیاز
    12
    سپاس
    0
    سپاس شده
    14 در 14 پست
    تعیین سطح نشده است

    سلام خدمت استاد شمس العلما .....ممنون از اینکه این ماکرو رو برام درست کردید ......خدا خیرتون بده .
    فقط یک مشکلی هست که بنده باید اول میگفتم ولی یادم رفت و اون اینه که همیشه اعداد از 1 شروع نمیشوند مثلا ممکنه از 40 شروع بشه یا از 112 و ...
    در واقع میخوام جوری این sub عمل کنه که خودش بدونه که از 1تا 30 یک مجموعه است و از 30 تا 60 یک مجموعه دیگر و سپس همون کارهایی که میخوام انجام بده .
    و یک خواسته دیگه ای که از شما استاد گرامی داشتم اینه که این ماکرو رو بصورت fuction برام بنویسید البته اگر امکانش هست .
    ویرایش توسط reza_1001 : 2017/06/30 در ساعت 07:10


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

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

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

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

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

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

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

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