نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

اپراتورهای شعبه VBA: انتخاب های سخت. پرش بی قید و شرط

زبان برنامه نویسی ویژوال بیسیک. شعبه های برنامه نویسی

انشعاب در ویژوال بیسیک با استفاده از:

  • عبارت IF شرطی؛
  • تابع IIF داخلی؛
  • اپراتور انتخاب CASE.

برای آزمایش یک شرط و اجرای یک دستور یا بلوک از دستورات، از استفاده کنید عبارت شرطی IF...THEN. این عملگر را می توان با سینتکس های مختلف استفاده کرد: تک خطی (خطی) و چند خطی (بلوک).

عملگر خطی دستور زیر را دارد:

اگر<условие>سپس<операторы!>

عملگر بلوک دارای نحو زیر است:

اگر<условие>سپس
<блок операторов 1>
پایان اگر

اگر شرط داده شده True باشد، بلوک دستور اجرا می شود، در غیر این صورت دستور block2 اجرا می شود. اگر بند Else مشخص نشده باشد، اگرهنگامی که شرط برآورده شد، کنترل بلافاصله پس از If به اپراتور بعدی منتقل می شود.

دستور If می تواند تودرتو باشد، یعنی در داخل بلوک های دستور قرار گیرد. برای آزمایش بیش از یک شرط و اجرای یکی از چندین بلوک دستورات، از یک دستور شرطی توسعه یافته از فرم استفاده کنید:

اگر<условие 1>سپس
<блок операторов 1>
دیگر<условие 2>سپس
<блок операторов 2>
دیگر<условие n>سپس
<блок операторов n>
پایان اگر

برای انتخاب یکی از مقادیر بسته به رضایت یا عدم موفقیت یک شرط، از تابع شرطی IIF استفاده کنید که دارای نحو زیر است:

IIF (<условие>, <значение1>, <значение2>)

این تابع اگر شرط درست باشد مقدار 1 و اگر شرط نادرست باشد مقدار 2 را برمی‌گرداند.

می توانید از یک عبارت Boolean به عنوان شرطی استفاده کنید که True یا را برمی گرداند

False یا هر عبارت حسابی (مقدار صفر معادل False و مقدار غیر صفر معادل True است).

عبارت SELECT CASEبرای آزمایش یک شرط و اجرای یکی از چندین بلوک دستور استفاده می شود.

فرمت رکورد اپراتور:

انتخاب مورد<проверяемое выражение>
مورد<список выражений 1>
<операторы 1>مورد<список выражений 2>
<операторы 2>مورد<список выражений 3>
<операторы 3>
مورد دیگر
<операторы группы Else>
پایان انتخاب کنید

عبارت مورد آزمایش در ابتدای عبارت Select Case ارزیابی می شود. این عبارت می تواند مقداری از هر نوع (بولی، عددی، رشته ای) را برگرداند.

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

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

این عبارت لیست نفقه ممکن است یکی از اشکال زیر باشد:

  • <выражение>- مطابقت یک عبارت داده شده را با یکی از عبارات - عناصر لیست بررسی می کند.
  • <выражение 1>که<выражение 2>- بررسی می کند که آیا عبارت داده شده در محدوده مشخص شده قرار می گیرد یا خیر.
  • < Is <логический оператор> < выражение>- تحقق شرط مشخص شده را برای یک عبارت مشخص بررسی می کند.

VBA دارای یک عملگر پرش شرطی برای استفاده در مواردی است که باید از تعداد زیادی از شاخه های مختلف کد را انتخاب کنید: عملگر انتخاب کنیدمورد(پیاده سازی یک ساختار چند گزینه ای بسیار راحت است) این کار تقریباً به همان روشی است که چندین عبارت مستقل کار می کند اگر، اما برای کسی که کد می نویسد و کسی که این کد را می خواند قابل درک تر است. این اپراتور کارایی بیشتری نسبت به اپراتور دارد اگرسپسدیگر.

کلید واژه ها انتخاب کنیدموردبا بسیاری از اپراتورها استفاده می شود مورد، جایی که هر اپراتور موردوقوع یک شرط دیگر را بررسی می کند و فقط یکی از شاخه ها اجرا می شود مورد.شاخه موردممکن است حاوی یک، چند عبارت VBA یا بدون عبارت باشد.

انتخاب مورد- یک دستور کنترل که بسته به مقدار عبارت، یکی از چندین بلوک عبارت را اجرا می کند.

انتخاب کنیدموردانتخاب_بیان

[ مورد Expression_list_1

[Operator_Block_1]

[مورد Expression_list_2 ]

[Operator_block_2]]

……………………………………………………………………………

[مورد Else

[Operator_Block_N]]

Endاسبرگزیدن

– Selection_expression – هر عبارت عددی یا نمادین.

– Expression_list – هر لیست لیستی از عبارات منطقی است که با کاما از هم جدا شده اند. دارای همان نوع Choice_expression هستند.

– Statement_block – حاوی هر تعداد عبارت VBA است.

هنگام اجرای بیانیه انتخاب کنیدمورد VBA ابتدا Selection_Expression را ارزیابی می کند، و سپس نتیجه آن عبارت را با هر عبارت فهرست شده در هر Expression_List مقایسه می کند . اگر مقدار نشان داده شده توسط Selection_Expression با عبارت Expression_List مطابقت دارد برای یکی از مورد VBA برای این عبارت StatementBlock را اجرا می کند مورد.اگر مقدار Selection_Expression با بیش از یک اپراتور مطابقت دارد مورد VBA فقط دستورات را اجرا می کند در ابتدا جمله منطبق مورد.اغلب یک option_expression به جای یک عبارت منطقی، صرفاً نام یک متغیر منفرد، ریاضی یا عددی است. عبارات در Expression_List - اینها معمولاً عبارات منطقی هستند.

پس از اتمام اجرای دستورات در اولین دستور تطبیق مورد VBA به اجرای کد ادامه می دهد از اولین بیانیه بعد از کلید واژه ها پایانانتخاب کنید، که نشان دهنده پایان است انتخاب کنیدمورد.

اگر مقدار Selection_Expression با هیچ یک از آنها مطابقت ندارد مورد، و اختیاری است مورددیگروجود دارد، VBA عباراتی را که توسط Statement_Block_N نشان داده شده است، اجرا می کند قبل از انتقال به اپراتور بعد از انتخاب کنیدمورد. بلوک اپراتور مورد Elseفقط در صورتی اجرا می شود که Selection_Expression هیچ یک از شرایط را برآورده نکند مورد. معمولاً برای مدیریت مقادیر ناخواسته استفاده می شود. اقدام اپراتور انتخاب کنیدموردبا بلوک دیاگرام نشان داده شده در شکل نشان داده شده است. 5.

شکل 5. بلوک دیاگرام طرح انتخاب کنیدمورد

عناصر List Express باید یکی از سه شکل زیر را داشته باشند:

Expression_1، Expression_2، …، Expression_N

اصطلاح تیoاصطلاح

منسبیان با عملیات

- Expression_ - هر عبارت عددی، نمادین یا منطقی از همان نوع عبارت انتخابی.

– عبارت با عملیات – عبارتی حاوی هر یک از عملیات زیر:<, <=, >, >=, < >, =.

اگر از کلمه کلیدی استفاده شود کهبرای تعیین حدود یک عبارت، مقدار کوچکتر باید ابتدا باشد. به عنوان مثال، دستورات بلوک مورد -1 تا -5اگر Selection_Expression -4 باشد اجرا نمی شوند. این خط باید مانند نوشته شود مورد -5 تا -1.

عملیات مقایسه فقط با یک کلمه کلیدی قابل استفاده است است، به استثنای عملیات برابری. اگر کلیدی وجود ندارد استویرایشگر هوشمند آن را در جای مناسب قرار می دهد.

در هر شرایط می توانید از چند عبارت یا محدودیت استفاده کنید مورد. مثلا، مورد 1 تا 4، 7 تا 9، 11، 13، > n % است.

مثال 4.برنامه ای که بسته به مبلغ خرید تخفیف را محاسبه می کند.

زیر skidka()

«تعریف تخفیف (در درصد) بسته به

"مقدار کالای فروخته شده

کم نوراسکیدکا به عنوان عدد صحیح

کم نورخلاصه به عنوان مجرد

جمع = InputBox("مبلغ خرید را وارد کنید"، "محاسبه تخفیف"، 0)

اگرجمع > 0 سپس

انتخاب موردخلاصه

مورد است > 1000

مورد است > 500

مورد دیگر

پایان انتخاب کنید

MsgBox"تخفیف" و اسکیدکا و "%"

MsgBox"مبلغ خرید مشخص نشده است"

Case Statement Example را انتخاب کنید

مطمئناً داشتن مثالی برای نشان دادن اینکه ساختار Select Case واقعاً چه شکلی است کمک خواهد کرد.

Case objRol l OffFi l m.Type را انتخاب کنید

مورد "اسلاید"

intSlide = intSlide + 1

مورد "رنگ منفی"

intColoredNegative = intColoredNegative + 1

مورد "BW منفی"

intBWnegative = intBWnegative + 1

MgaBox "نوع فیلم ناشناخته."

این قطعه کد اساساً همان کار کد مثال بالا را از بخش if دستورات انجام می دهد. . .ElseIf (فقط چک انقضا حذف شده است). با این حال، از آن زمان به نظر می رسد که شی فرضی ما که یک رول فیلم را نشان می دهد کمی تغییر یافته است - اطلاعات مربوط به رنگ و بی رنگی فیلم اکنون با ویژگی Ture نیز نشان داده می شود، و نه یک ویژگی Color جداگانه، مانند قبل.

و اگر اینطور باشد، برنامه فقط باید با یک مقدار کار کند - مقداری که توسط ویژگی Type برگردانده شده است. - اما این مقدار با چندین مورد معتبر مقایسه می شود. بنابراین Select Case دقیقاً همان چیزی است که پزشک برای مورد ما دستور داده است.

اولین استفاده از عملگر Case در این مثال معادل استفاده از If objRollOf Film.Type = "Slide" سپس، i.e. اگر خاصیت Type شی "Slide" باشد، برنامه دستور بعدی را اجرا می کند، در غیر این صورت به دستور Case دوم می رود.

توجه داشته باشید که علامت عملیاتی که وجود آن در نگاه اول منطقی به نظر می رسد در ضوابط لحاظ نشده است. دلیل آن این است که عبارات Select Case به سادگی برابری را به عنوان یک عملگر مقایسه فرض می کنند.

برگرفته از کتاب EMBEDDED SYSTEMS SOFTWARE. الزامات عمومی برای توسعه و مستندسازی نویسنده Gosstandart روسیه

برگرفته از کتاب کامپیوتر + تلفن همراه: تعامل موثر نویسنده گلتسمن ویکتور یوسفویچ

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

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

مثال: صف‌های پیام Posix و تابع انتخاب دستگیره صف پیام (متغیری از نوع mqd_t) یک دسته «عادی» نیست و نمی‌تواند با توابع انتخاب و نظرسنجی استفاده شود (فصل 6). با این حال، آنها را می توان در ارتباط با کانال و تابع mq_notify استفاده کرد. (مشابه

از کتاب VBA برای Dummies توسط استیو کامینگز

از کتاب Firebird DATABASE DEVELOPER'S GUIDE توسط بوری هلن

شرایط آزمایش در عبارات Select Case ساختار Select Case به صراحت از عبارات شرطی کامل مانند مواردی که در بالا بحث شد استفاده نمی کند (به بخش "یک دوره آموزشی در استفاده از عبارات شرطی" مراجعه کنید). شما باید هر شرط را به دو قسمت تقسیم کنید که به صورت نمایش داده می شود

برگرفته از کتاب The Art of Shell Scripting Language Programming توسط کوپر مندل

برگرفته از کتاب زبان سی - راهنمای مبتدیان توسط پراتا استیون

برگرفته از کتاب لینوکس و یونیکس: برنامه نویسی پوسته. راهنمای توسعه دهنده. توسط Tainsley David

از کتاب C++ برای مبتدیان توسط لیپمن استنلی

مثال 10-24. با استفاده از مورد #!/bin/bashecho; echo "یک کلید و سپس کلید Return را فشار دهید." خواندن Keypresscase "$Keypress" در ) echo "حروف کوچک";; ) echo "حرف بزرگ"؛; ) اکو "تعداد"؛; *) echo "علامت نگارشی، فاصله یا چیز دیگری"؛;esac # Pointer مجاز است

برگرفته از کتاب UNIX: Network Application Development نویسنده استیون ویلیام ریچارد

مثال 10-25. ایجاد یک منو با استفاده از case #!/bin/bash# مثال تقریبی از پایگاه داده پاک کردن # پاک کردن screenecho " List"echo " ------"echo "کسی را که به آن علاقه دارید انتخاب کنید:"echoecho "[E] vans, Roland"echo " [J]ones, Mildred"echo "[S]mith, Julie"echo "[Z]ane, Morris"echoread personcase "$person" in# لطفا توجه داشته باشید: متغیر در گیومه است.

از کتاب نویسنده

مثال 10-26. دستور case اجازه می دهد تا به جای متغیر تجزیه شده #!/bin/bash# از جایگزینی دستور استفاده شود.case $(arch) در # دستور "arch" رشته ای را که معماری سخت افزار را توصیف می کند، برمی گرداند.i386) echo "80386 based machine ";;i486) echo "Machine based on

از کتاب نویسنده

مثال A-18. تولید اعداد اول با استفاده از عملگر مدول (مدول) #!/bin/bash# primes.sh: تولید اعداد اول بدون استفاده از آرایه.# نویسنده: استفان شازلاس.# این اسکریپت از الگوریتم کلاسیک "Sieve of Eratosthenes" استفاده نمی کند. در عوض #+

از کتاب نویسنده

گسترش عملگر IF با استفاده از else ساده‌ترین شکل عملگر if همانی است که ما استفاده کردیم: عبارت if(expression) به طور معمول، یک عبارت در اینجا به عنوان یک عبارت شرطی درک می‌شود که مقادیر دو کمیت را مقایسه می‌کند (مثلا x > y

از کتاب نویسنده

18.8.2. خاتمه اجرای دستور case مثال زیر را در نظر بگیرید. اسکریپت یک حلقه بی نهایت اجرا می کند تا زمانی که کاربر عددی بزرگتر از 5 را وارد کند. برای شکستن حلقه و بازگشت به خط فرمان مفسر، از دستور break.$ pg استفاده کنید.

از کتاب نویسنده

از کتاب نویسنده

یک مثال ساده از استفاده از تابع select اکنون کد گیرنده خارج از باند خود را دوباره کار می کنیم و به جای سیگنال SIGURG از تابع select استفاده می کنیم. لیست 24.3 برنامه دریافت کننده را نشان می دهد. لیست 24.3. برنامه دریافت که در آن (به اشتباه)

ساختارهای کنترلی به شما این امکان را می دهند که دنباله اجرای یک برنامه را کنترل کنید. بدون دستورات کنترلی، تمام دستورات برنامه از چپ به راست و از بالا به پایین اجرا خواهند شد. با این حال، گاهی اوقات می خواهید مجموعه ای از دستورالعمل ها را به طور خودکار به طور مکرر اجرا کنید، یا بسته به مقدار متغیرها یا پارامترهای مشخص شده توسط کاربر در زمان اجرا، مشکل را به طور متفاوت حل کنید. برای این منظور از ساختارها و حلقه های کنترل استفاده می شود.

VBA از ساختارهای تصمیم گیری زیر پشتیبانی می کند:

اگر . . سپس. . . دیگر

6.1 اگر ساخت و ساز. . . سپس

اگر ساخت. . . سپس زمانی استفاده می شود که لازم باشد یک یا گروهی از دستورات را بسته به شرایطی اجرا کنیم. سینتکس این ساختار به شما امکان می دهد آن را در یک خط یا در چندین خط برنامه مشخص کنید:

If شرط, سپس عبارت If شرط, سپس عبارت End If

به طور معمول شرط یک مقایسه ساده است، اما می تواند هر عبارتی با مقدار محاسبه شده باشد. این مقدار اگر null باشد به صورت False تعبیر می شود و هر مقدار غیر تهی به عنوان True تلقی می شود. اگر شرط درست باشد، تمام عبارات بعد از کلمه کلیدی Then اجرا می شوند. برای اجرای شرطی یک دستور واحد، می توانید از نحو تک خطی یا نحو چند خطی (ساخت بلوک) استفاده کنید.

دو عبارت زیر معادل هستند:

در صورت وجود تاریخ< Now Then anyDate = Now If anyDate < Now Then anyDate = Now End If

توجه داشته باشید که نحو دستور If است. . . سپس برای یک خط از دستور End If استفاده نمی شود. برای اجرای دنباله ای از عبارات در صورت درست بودن یک شرط، باید از ساختار بلوک If استفاده کنید. . . سپس. . . پایان اگر.

در صورت وجود تاریخ< Now Then anyDate = Now Timer.Enabled = False " Запретить таймер. End If

اگر شرط نادرست باشد، عبارات بعد از کلمه کلیدی Then اجرا نمی شوند و کنترل به خط بعدی (یا خط بعد از دستور End If در ساختار بلوک) منتقل می شود.

6.2 اگر ساخت و ساز. . . سپس. . . دیگر

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

اگر شرط 1 سپس عبارت 1 شرط 1 ElseIf 2 سپس عبارت 2 . . . بیان دیگر-n پایان اگر

هنگام اجرا، شرط 1 ابتدا بررسی می شود. اگر نادرست باشد، VBA شرط 2 بعدی را بررسی می کند و به همین ترتیب تا زمانی که یک شرط واقعی پیدا کند. هنگامی که VBA آن را پیدا کرد، بلوک مناسبی از دستورات را اجرا می کند و سپس کنترل را به دستور بعد از دستور End if منتقل می کند. این ساختار می تواند شامل یک بلوک دستور Else باشد که VBA در صورتی که هیچ یک از شرایط برآورده نشده باشد، اجرا می کند.

اگر ساخت. . . سپس. . . ElseIf در واقع فقط یک مورد خاص از ساختار If است. . . سپس. . . دیگر توجه داشته باشید که این ساختار می تواند هر تعداد بلوک ElseIf یا حتی هیچ کدام را داشته باشد. یک بلوک Else می تواند بدون توجه به وجود یا برعکس، عدم وجود بلوک های ElseIf گنجانده شود.

مثال فرعی1() Dim a As Single, b as Single, x as Single Dim z as Double Call read("A1"، a) Call read("B1"، b) اجازه دهید x = CSng(InputBox("x را وارد کنید"، "ورود داده"، 0)) اگر x<= a Then z = Sin(x) ElseIf x >= b سپس z = Tan(x) دیگری: z = Cos(x) پایان اگر فراخوانی شود("C1"، z) پایان فرعی

توجه داشته باشید که می توانید هر تعداد بلوک Elself را به عبارت If اضافه کنید. . . سپس. با این حال، تعداد بلوک های Elself می تواند آنقدر زیاد شود که ساختار If. . . سپس بسیار دست و پا گیر و ناراحت کننده خواهد شد. در چنین شرایطی باید از ساختار تصمیم گیری دیگری استفاده کرد - Select Case.

6.3 طراحی Case را انتخاب کنید

ساختار Select Case جایگزینی برای ساختار If است. . . سپس. . . در غیر این صورت هنگام اجرای یک بلوک متشکل از مجموعه بزرگی از عبارات. ساختار Select Case قابلیتی مشابه ساختار If ارائه می دهد. . . سپس. . . در غیر این صورت، اما بر خلاف آن، زمانی که چندین انتخاب وجود دارد، کد را خواناتر می کند.

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

Case tested_expression ]] را انتخاب کنید. . . ] پایان انتخاب کنید

هر لیست عبارت لیستی از یک یا چند مقدار است. اگر بیش از یک مقدار در یک لیست وجود داشته باشد، آنها با کاما از هم جدا می شوند. هر بلوک عبارت حاوی چندین یا هیچ عبارت است. اگر معلوم شد که مقدار محاسبه شده عبارت مورد آزمایش با مقادیر چندین عبارت Case مطابقت دارد، بلوک عبارات مرتبط با اولین عبارت Case از تمام موارد مطابق پیدا شده اجرا می شود. VBA بلوک عبارات مرتبط با عبارت Case Else را اجرا می کند (توجه داشته باشید که اختیاری است) اگر هیچ تطابقی بین مقدار عبارت مورد آزمایش و مقادیر از همه لیست های دستورات Case یافت نشود.

بیایید به مثالی از محاسبه تابع نگاه کنیم

مثال فرعی2() Const pi2 = 1.57 Dim x As Single Dim z As Double Let x = CSng(InputBox("enter x", "Data input", 0)) Case x Case -pi2 z = Sin(x) Case 0 را انتخاب کنید z = Cos(x) Case pi2 z = Tan(x) Case Else MsgBox "داده های ورودی نامعتبر!" خروج از پایان فرعی Call out ("D1"، z) پایان فرعی را انتخاب کنید

توجه داشته باشید که ساختار Select Case عبارت را تنها یک بار پس از ورود ارزیابی می کند، در حالی که ساختار If. . . سپس. . . Else یک عبارت متفاوت را برای هر عبارت Elsel ارزیابی می کند. سازه If. . . سپس. . . اگر عبارت If و هر عبارت Elself یک عبارت را ارزیابی کنند، می توان با ساختار Select Case جایگزین کرد.

عملگر Select Case زبان VBA به گونه ای طراحی شده است که بسته به مقدار، مجموعه ای از یک عملیات را تشکیل دهد؛ در واقع، این عملگر انتخاب ترکیبی از عملگر شرطی vba if then است. همه چیز کاملاً ساده است - در اسکریپت متغیری وجود دارد که مقدار آن تغییر می کند و بسته به مقداری که باید انتخاب کنید کدام بلوک کد (عبارت) را اجرا کنید.

همانطور که در عملگر شرطی، یک مقدار در اینجا بررسی می شود، به عنوان مثال: یک فیلد متنی وجود دارد که در آن باید داده ها را وارد کنید، به عنوان مثال، سن. در مرحله بعد، باید مقدار وارد شده را بررسی کنید؛ اگر مقدار کمتر از 18 است، یک متن را نمایش دهید، اگر مقدار بین 19 تا 30 است، متن دیگری را نمایش دهید، در غیر این صورت، متن سوم را نمایش دهید. همانطور که قبلا ذکر شد، یک عملگر شرطی می تواند برای چنین اهدافی استفاده شود، با این حال، عملگر VBA Select Case گزینه فشرده تری است.

دستور VBA Select Case عبارت است از:

معنی Case را انتخاب کنید
شرط 1 را انتخاب کنید
مجموعه اپراتور

شرط 2 را انتخاب کنید
مجموعه اپراتور

شرط 3 را انتخاب کنید
مجموعه اپراتور

….

شرط N را انتخاب کنید
مجموعه اپراتور N

مورد دیگر
سایر اپراتورها


پایان انتخاب کنید

ابتدا پارامتر "value" بررسی می شود که می تواند رشته ای یا عددی باشد؛ پس از بررسی پارامتر، با هر شرطی که در عملگرها مشخص شده است، یک مقایسه متناوب (از ابتدا شروع می شود) انجام می شود. انتخاب مورد VBA. اگر یک تطابق برای "شرط 1" رخ دهد، "مجموعه بیانیه 1" اجرا می شود، پس از آن کد بعد از آن پایان انتخاب کنید. عملگر Case Else به طور رسمی به معنای "در غیر این صورت" است، یعنی اگر هیچ یک از شرایط درست نباشد، مجموعه ای از عملگرهای مشخص شده برای Case Else اجرا می شود. خود عبارت VBA است مورد دیگراختیاری است، مانند «اپراتورهای دیگر»، در صورت لزوم می توان آن را حذف کرد، همیشه در پایان نوشته می شود.

بیایید به این کد مثال نگاه کنیم:

Private Sub CommandButton1_Click() Dim a = TextBox1.Text Select Case a Case Is< 100 Label1.Caption = "مقدار وارد شده کمتر از 100 است" Case 101 To 150 Label1.Caption = "مقدار وارد شده بزرگتر از 100 و کمتر از 151 است" Case 151 To 200 Label1.Caption = "مقدار وارد شده بزرگتر از 151 و کمتر از 201 است" Case Else Label1.Caption = "ارزش دیگر، بیانیه موردی VBA انتخاب کنید"پایان انتخاب End Sub Private Sub UserForm_Activate() "تنظیمات اولیه "***************************** Label1.Caption = "" "اندازه متن Label1.FontSize = 15" رنگ متن Label1.ForeColor = &HFF0000 " تراز وسط Label1.TextAlign = fmTextAlignCenter " بسته بندی خط را فعال کنید Label1.WordWrap = درست است نوشته روی دکمه CommandButton1.Caption = "نمایش" "محتوای اولیه فیلد متن TextBox1.Text = "هر مقداری را وارد کنید"پایان فرعی

در این مثال یک رویه داریم CommandButton1_Click، که وظیفه پردازش کلیک دکمه ها را بر عهده دارد. متغیر a مقدار فیلد متنی TextBox1 (ویژگی Text) را ذخیره می کند. سپس عبارت Select case VBA می آید که در آن مقدار متغیر a بررسی می شود و پس از آن مقدار با شرایط مقایسه می شود:

  • مورد است< 100 - اگر مقدار متغیر a کمتر از 100 باشد
  • مورد 101 تا 150- اگر مقدار در محدوده 101 تا 150 باشد
  • مورد 151 تا 200- محدوده تست از 151 تا 200
  • مورد دیگر- در واقع، همه معانی دیگر.

بسته به نتیجه بررسی، یک پیام آموزنده در ویژگی Caption شی ثبت می شود.

روش UserForm_Activateشامل خطوط کد برای پیکربندی اولیه اجزای فرم - رنگ، اندازه، متن اولیه و غیره است.

نتیجه اجرای ماکرو را در شکل مشاهده می کنید. برای ایجاد ارتباط بین یک ماکرو و یک فرم، باید در بلوک کد ماژول بنویسید:

Sub OBModule() OBForm.Show End Sub

اینجا OBModule– نام ماژول (ماکرو) و OBForm– نام فرم

شایان ذکر است که حتی اگر شرط مطابقت داشته باشد، به عنوان مثال: کمتر از 100 و بیشتر از 99، در دستور Select Case فقط اولین شرط تطبیق اجرا می شود و بقیه موارد نادیده گرفته می شوند.

بهترین مقالات در این زمینه