ساختار برنامه select case در اکسل

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    ساختار برنامه select case در اکسل

    Select CASE

    دستور SELECT CASE دستوری با کاربردی مانند IF می باشد. در جهت استفاده از این دستور ما نیازمند تعریف متغیری مانند X هستیم و سپس برای متغیر مورد اشاره شروط مورد نیاز را می گذاریم.


    شکل کلی دستور Select Case

    Select Case نام متغیر
    Case حالت اول
    دستورات
    Case حالت دوم
    دستورات
    .
    .
    .

    Case Else
    دستورات
    End Select



    در زیر برنامه ای نوشته شده است که برای مقادیر مختلف موجود در سل A1 یک شیت اکسل عبارات A , B, C, … را در سل مقابل آن می گذارد.
    کد PHP:
    Sub level( )
     
    Range("a1").Value
     Select 
    Case x
     
    Case 17 To 20
    Range
    ("b1").Value " A"
     
    Case 14 To 17
    Range
    ("b1").Value " B"
                
    Case 12 To 14
    Range
    ("b1").Value " C"
     
    Case 10 To 12
    Range
    ("b1").Value " D"
                
    Case 0 To 10
    Range
    ("b1").Value " E"
    Case Else
    Range("b1").Value "false"
     
    End Select 
    End Sub 

    ساختار حلقه ای FOR Each - NEXT
    حلقه ها دستوراتی هستند که می توان جهت انجام دستورات تکراری از آنها استفاده نمود. حلقهFOR Each برای کار بر روی عضوهای(members) یک مجموعه(collection) استفاده می شود. مجموعه شامل تعدادی شیء یکسان است. به عنوان مثال Range("A1:A10") یک *collection * است زیرا تعدادی عضو به نام سلول است که همگی از یک جنس هستند.worksheet های یک فایل اکسل مجموعه ای به نام Worksheets تشکیل می دهند. چارتهای یک فایل اکسل مجموعه ای به نام Charts تشکیل می دهند.
    الگوی زیر الگوی استفاده از یک حلقه FOR Each در برنامه نویسی می باشد:


    For Each عضو In مجموعه
    دستورات
    NEXT



    در برنامه ای که در زیر نوشته شده عملیات مورد نظر بر روی ردیفهای 1 تا 10 ستون A انجام می شود.برنامه به گونه ای نوشته شده است که اعداد کمتر از 10موجود در ستون اول، را Bold*کند


    حال با استفاده و ترکیب دو دستور FOR-NEXT به سادگی برنامه مورد اشاره به شرح ذیل نوشته می شود:
    کد PHP:
     Sub range_level ()
     
    Sub a()
     
     
     For 
    Each c In Range("a11:h20")
        If 
    10 Then c.Font.Bold True
     Next
     
    End Sub 
    استفاده از دستور ROW در برنامه:

    برنامه بالا برنامه مناسبی بود اما در فاز بعدی برنامه نویسی ما خواهان این نکته هستیم برنامه ای نوشته شود که به ازای مقادیر مختلف در یک ستون در اکسل عباراتی متناسب با آن اعداد را در مقابل آنها بنویسد.
    تنها نکته موجود در این برنامه وجود دستور ROW است که از دسته دستوراتی مانند VALUEمی باشد که در اینجا ROW به مفهوم ردیف مورد نظر می باشد.و برای نیل به هدف بالا می بایست دو متغیر تعریف نمود.
    متغیر اول برای عدد مورد نظر که هدف برنامه آن است و متغیر دوم ردیف عدد مود نظر که برای اینکه در مقابل آن عدد باید عبارت مورد نظر برنامه تایپ گردد، مورد نیاز است.مع الوصف برنامه مورد نظر به شکل زیر نوشته می شود:


    کد PHP:
    Sub range_level()
     
    Dim c As Range
     
    For Each c In Range("a1:a10")
     
    c.Value
    c.Row
     
    Select 
    Case x
     
    Case 17 To 20
                       Cells
    (i2) = "A"
     
    Case 14 To 17
     Cells
    (i2) = "B"
     
    Case 12 To 14
    Cells
    (i2) = "C"
    Case 10 To 12
     Cells
    (i2) = "D"
     
    Case 0 To 10
      Cells
    (i2) = "E"
     
    Case Else
     
    Cells(i2) = "ERROR"
              
    End Select
     
     Next
     
    End Sub 
    منبع:
    دوست عزیز اقای بیرامی
    اینم ادرس سایت
    http://persianblog.ir
    Last edited by ali.b; 2014/10/12, 08:31.
    [CENTER]
    [/CENTER]
چند لحظه..