فهرست مطالب
در این مقاله، به شما نشان خواهم داد که اگر سلولی حاوی مقدار باشد، چگونه میتوانید وضعیت را در Excel VBA تجزیه و تحلیل کنید. شما یاد خواهید گرفت که موقعیت را برای هر مقدار و یک مقدار خاص تجزیه و تحلیل کنید.
تجزیه و تحلیل VBA Excel: اگر سلول حاوی مقدار باشد، (نمایش سریع)
9019
دانلود کتاب تمرین تمرین
این کتاب تمرینی را دانلود کنید تا هنگام خواندن این مقاله تمرین کنید.
VBA If Cell Contains Value Then.xlsm
تحلیل VBA اکسل: اگر سلول حاوی مقدار باشد، خروجی ها را برگردانید (تحلیل گام به گام)
در اینجا ما مجموعه ای از داده ها را با نمرات برخی از دانش آموزان در فیزیک، شیمی، و ریاضیات در مدرسه ای به نام مهد کودک آفتابگردان.
سلول های خالی به این معنی است که دانش آموز در آن امتحان حاضر نشده است، یعنی در آن امتحان غیبت کرده است. حال بیایید وضعیت را تجزیه و تحلیل کنیم، آیا یک سلول حاوی مقدار است یا نه، با این مجموعه داده.
⧪ مرحله 1: اعلام سلول
ابتدا، ما باید سلولی را که می خواهیم مقدار آن را تحلیل کنیم، اعلام کنیم. بیایید تجزیه و تحلیل کنیم که آیا جنیفر مارلو در امتحان فیزیک ظاهر شد یا نه.
بنابراین، باید بررسی کنیم که سلول C12 حاوی مقدار است یا خیر.
برای انجام این کار، ابتدا باید سلول C12 را اعلام کنیم.
خط کد برای انجام این کار به صورت زیر خواهد بود:
4800
⧪ مرحله 2: بررسی اینکه آیا سلول حاوی a Value (شامل یک مقدار خاص)
بعد، باید بررسی کنیم که آیاسلول حاوی یک مقدار است یا نه. ما این را با استفاده از یک شرط If اجرا می کنیم. خط کد به صورت زیر خواهد بود:
1781
اگر سلول حاوی مقداری باشد، این کد اجرا میشود. برای بررسی یک مقدار (به عنوان مثال، آیا حاوی 100 است یا خیر)، از آن مقدار خاص با نماد برابر با استفاده کنید.
7808
⧪ مرحله 3: تخصیص کار
سپس باید وظیفه ای را تنظیم کنید که اگر سلول حاوی یک مقدار (یا یک مقدار خاص) باشد، اجرا می شود.
در اینجا، می خواهیم پیام را نمایش دهیم. "جنیفر مارلو در امتحان فیزیک ظاهر شد." . بنابراین خط کد به این صورت خواهد بود:
2361
⧪ مرحله 4: پایان دادن به بلوک If
در نهایت، شما باید پایان بلوک If را اعلام کنید.
3471
بنابراین کد VBA کامل خواهد بود:
⧭ کد VBA:
8796
⧭ خروجی:
این کد را با کلیک بر روی دکمه Run Sub/UserForm در نوار ابزار اجرا کنید.
پیام "جنیفر مارلو در امتحان فیزیک ظاهر شد" را نمایش می دهد. زیرا سلول C12 حاوی مقدار 50 است.
نمونههایی مربوط به اگر سلول دارای یک مقدار باشد، سپس یک خروجی مشخص با Excel VBA
ما آموختهایم که اگر یک سلول حاوی مقدار یا مقدار باشد، تجزیه و تحلیل کنیم در VBA نیست. اکنون، بیایید چند مثال را بررسی کنیم تا درک را روشن کنیم.
1. توسعه یک ماکرو برای فیلتر کردن یک مقدار اگر سلول مربوطه حاوی مقداری باشد، در Excel VBA
بیایید یک ماکرو برای فیلتر کردن دانشآموزانی که در هر یک از امتحانها ظاهر شدهاند.
یعنی، باید سلولهای حاوی علائم هر یک از موضوعات را بررسی کنیم و ببینیم که آیا دارای مقدار هستند یا خیر. یا نه.
اگر این کار را انجام دهند، باید نام دانش آموز مربوطه را مرتب کنیم.
کد کامل VBA برای انجام این کار به صورت زیر خواهد بود:
⧭ کد VBA:
9677
⧭ خروجی:
مجموعه داده را انتخاب کنید ( از جمله سرصفحه ) و این Macro را اجرا کنید.
ابتدا، از شما خواسته می شود که مرجع اولین مورد را وارد کنید. سلولی که در آن داده های فیلتر شده را می خواهید. من G3 را وارد کردم.
سپس روی OK کلیک کنید. نام دانشآموزانی که در هر یک از امتحانها (شامل سرصفحهها ) در یک مجموعه داده جدید که از سلول G3 شروع میشود، دریافت خواهید کرد.
2. ایجاد یک تابع تعریف شده توسط کاربر برای مرتب کردن یک مقدار اگر سلول مربوطه حاوی یک مقدار خاص باشد، در Excel VBA
اکنون یک تابع تعریف شده توسط کاربر ایجاد می کنیم که نام دانش آموزان را برمی گرداند. که در هر یک از دروس نمره مشخصی گرفتند.
روش تقریباً مشابه موارد فوق است. ما باید سلول های حاوی علائم هر یک از موضوعات را بررسی کنیم و ببینیم که آیا آنها برابر با یک مقدار خاص هستند یا نه.
اگر آنها هستند، نام دانش آموز مربوطه را برمی گردانیم.
کد VBA خواهد بود:
⧭ VBAکد:
9836
⧭ خروجی:
کد تابعی به نام Cells_with_Values ایجاد می کند که دو آرگومان می گیرد، یک محدوده و یک مقدار .
بیایید دانش آموزانی را که در هر یک از موضوعات با استفاده از این تابع 100 دریافت کرده اند، دریابیم.
محدوده ای از سلول ها را در کاربرگ خود انتخاب کنید و این تابع را در اولین سلول محدوده وارد کنید:
=Cells_with_Values(B3:E13,100)
[اینجا B3: E3 مجموعه داده های من است (شامل سرصفحه ها ) و 100 مقدار منطبق با من است. شما از یکی خود استفاده می کنید.]
سپس CTRL + SHIFT + ENTER ( Array Formula ) را فشار دهید. آرایهای متشکل از نام دانشآموزانی که در هر موضوع 100 دریافت کردهاند، شامل سرصفحهها را برمیگرداند.
3. توسعه یک UserForm برای استخراج یک مقدار در صورتی که سلول مربوطه حاوی هر مقدار (یا مقدار خاصی) در Excel VBA باشد
در نهایت، ما یک UserForm برای استخراج نام دانش آموزانی که در برخی امتحانات خاص ظاهر شدند (یا نمره های خاصی گرفتند).
⧪ مرحله 1: باز کردن UserForm
به Insert > گزینه UserForm در ویرایشگر VBA برای باز کردن UserForm جدید. UserForm جدید به نام UserForm1 باز خواهد شد.
⧪ مرحله 2: کشیدن ابزارها به UserForm
علاوه بر UserForm ، Toolbox را دریافت خواهید کرد. مکان نما خود را روی جعبه ابزار حرکت دهید و 4 برچسب را بکشید (Label1, Label2,Label3، Label4) و 3 ListBox (ListBox1، ListBox2، ListBox3) و یک TextBox (TextBox1) به شکل مستطیل روی UserForm .
سپس برچسب دیگر (Label5) و یک TextBox (TextBox2) را به گوشه پایین سمت چپ UserForm بکشید.
در نهایت، یک CommandButton (CommandButton1) را به گوشه سمت راست پایین بکشید.
نمایشگرهای Labels را به Lookup Column تغییر دهید، ستون برگردان ، هر مقدار یا مقدار خاص ، مقدار، و سلول شروع.
همچنین، نمایش CommandButton1 را به OK تغییر دهید.
⧪ مرحله 3: نوشتن کد برای ListBox3
روی ListBox3 دوبار کلیک کنید. یک روش فرعی خصوصی به نام ListBox3_Click باز خواهد شد. کد زیر را در آنجا وارد کنید.
3336
⧪ مرحله 4: نوشتن کد برای CommandButton1
سپس روی CommandButton1 دوبار کلیک کنید . یک روش فرعی خصوصی به نام CommandButton1_Click باز خواهد شد. کد زیر را در آنجا وارد کنید.
7760
⧪ مرحله 5: نوشتن کد برای اجرای UserForm
در نهایت، یک Module جدید از <وارد کنید 1>VBA toolbar و کد زیر را در آنجا وارد کنید.
5295
⧪ مرحله 6: اجرای UserForm (خروجی نهایی) <3
UserForm شما اکنون آماده استفاده است. مجموعه دادهها را از کاربرگ انتخاب کنید ( B3:E13 اینجا) (شامل سرصفحهها ) و Macro به نام Run_UserForm را اجرا کنید.
UserForm در کاربرگ بارگذاری خواهد شد. از جدول ستون جستجو ، فیزیک و ریاضیات را انتخاب کردهام، زیرا میخواهم نام دانشآموزانی را که در فیزیک ظاهر شدهاند را دریافت کنم. و امتحانات ریاضی .
از جدول ستون بازگشت ، نام دانش آموز را انتخاب کرده ام، زیرا می خواهم اسامی دانش آموزان را دریافت کنم.
و از جدول Any Value or Specific Value ، Any Value را انتخاب کردم.
در نهایت، در Starting Cell کادر ، من G3 را گذاشته ام.
سپس OK را کلیک کنید. نام دانشآموزانی را دریافت خواهید کرد که در امتحانات فیزیک و ریاضی از سلول G3 شروع میشوند.
اگر مقدار خاص را از جدول Any Value یا Specific Value انتخاب کرده بودید، TextBox دیگری برای وارد کردن مقدار خاص میداشتید.
در اینجا من 100 را وارد کرده ام.
کلیک کنید OK . و شما دانش آموزانی را دریافت خواهید کرد که 100 در فیزیک و شیمی کسب کردند.
چیزهایی که باید به خاطر بسپارید
ما از یک آرایه دو بعدی برای برگرداندن نام دانش آموزان در عملکرد تعریف شده توسط کاربر که در مثال توضیح داده شده استفاده کردیم 2 .<3