اکسل پدیا، دانشنامه پارسی اکسل

021-47625755
[email protected]

ورود یا ثبت نام

  • دانشنامه اکسل
    • اکسل چیست؟
    • اکسل مقدماتی
    • توابع اکسل
    • نمودار ها
    • وی بی – ماکرو
  • آکادمی اکسل
    • ویدئوهای آموزشی
      • رسم نمودارهای حرفه ای
      • اکسل و شروع حرفه ای
      • اکسل نینجا (اکسل پیشرفته)
      • صفر تا صد Pivot Table
      • برنامه نویسی وی بی (VBA)
    • کتاب ها
      • کتاب های فارسی
      • کتاب های انگلیسی
  • داشبورد های مدیریتی
    • آموزش ساخت داشبورد
    • دانلود داشبورد نمونه
  • افزونه های کاربردی
  • دوره های حضوری
    • اکسل نینجا
    • برنامه نویسی وی بی (VBA)
  • درباره ما
    • Cart

      0

وی بی - ماکرو

  • خانه
  • بلاگ
  • وی بی - ماکرو
  • ۳ روش برای افزایش خوانایی کدهای وی بی (VBA)

۳ روش برای افزایش خوانایی کدهای وی بی (VBA)

  • ارسال شده توسط سامان چراغی
  • دسته بندی وی بی - ماکرو
  • تاریخ ۲۲ تیر ۱۳۹۶
  • نظرات ۶ دیدگاه ها
اصول خوانایی کد
5 / 5 ( 4 امتیاز )

اصول خوانایی کد برای نمایش کدهای وی بی (VBA)

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

در زمان نوشتن کد برای شما کاملا واضح هست که کد برای چی نوشته شده و کارکردش چیه، اما باید کدها رو طوری بنویسید که اگه 6 ماه دیگه هم برگشتید تا کد رو بررسی کنید (به هر دلیلی مثل اصلاح کد و یا بهبود اونها) مثل الان براتون روشن باشه و با کمترین زمان بتونید کدها رو تغییر بدید. حالت سخت تر اینه که فردی دیگه ای کدهای شما رو بخواد بخونه و متوجه بشه که چی هست.

امروز میخوایم در مورد کامنت ها، تورفتگی و شکستگی خطوط کد صحبت کنیم. اینها ابزارهایی هستند که تو تبدیل کدهای شما به کدهایی واضح کمک میکنند.

کامنت ها (Comments)

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

کامنت ها به وسیله زبان وی بی (VBA) اجرا نمیشن برای همین تأثیری در خروجی برنامه هم ندارن. تو زبان وی بی (VBA) هر چیزی که بعد از کارکتر (‘) بیاید رو به عنوان یک کامنت در نظر میگیره. به همین دلیل تو ویرایشگر کد وی بی (VBA) رنگ کامنت ها به رنگ سبز تغییر میکنند.

حتما بخوانید:  چهار گام ایجاد پیوت تیبل (Pivot Table)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
' یک برنامه (روال اجرایی) برای جستجو درون سلول های
' که درون شیت فعال هست A1-A100
Sub Find_String(sFindText As String)
   Dim i As Integer           ' متغیر استفاده شده در حلقه برنامه
   Dim iRowNumber As Integer   ' متغیر استفاده شده برای ذخیره نتیجه
   iRowNumber =
   'جستجو در سلول های مشخص شده تا زمانیکه کلمه موجود در متغیر
   'پیدا بشه sFindText
   For i = 1 To 100
      If Cells(i, 1).Value = sFindText Then
         ' در صورتیکه کلمه مورد نظر پیدا شد شماره ردیف آن را در متغیر مربوطه ذخیره کن و از حلقه خارج شو
         iRowNumber = i
         Exit For
      End If
   Next i
   ' یک پیغام به کاربر نمایش بده و نتیجه جستجو رو نمایش بده
   If iRowNumber = Then
      MsgBox "String " & sFindText & " not found"
   Else
      MsgBox "String " & sFindText & " found in cell A" & iRowNumber
   End If
End Sub

اگه نحوه کار کردن کد بالا رو متوجه نشدید اصلا نگران نباشید با خوندن مطالب بعدی به زودی میتونید این کدها رو هم متوجه بشید و هم خودتون بنویسید. هدف از این مثال فقط نشون دادن این مسئله هست که چطوری با استفاده از کامنت ها بتونیم کدی که زدیم رو توضیح بدیم.

حتما بخوانید:  کاربرد ماکرو در اکسل چیست؟

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

هر دقیقه ای که شما صرف ایجاد توضیح مناسب برای کدهاتون میکنید در آینده ساعت ها زمان شما رو برای ویرایش کدها ذخیره میکنه.

تورفتگی کدها

یکی دیگه از اصول خوانایی کد ها که برای کمک به افزایش خوانایی کدها استفاده میشه اضافه کردن تورفتگی ها به کد هست. اگه یه بار دیگه به مثال بالا نگاه کنید میبینید که وجود تورفتگی ها باعث میشه که بهتر متوجه بشید که هر خط کد زیر مجموعه چه دستوری هست. برای ایجاد تو رفتگی در هر خط از دکمه TAB استفاده میشه که به ازای هر بار زدن این دکمه یک تو رفتگی ایجاد میشه.

شکستگی خطوط

بعضی وقت ها به خاطر منطق مسئله مجبور میشیم که یک خط از کد رو خیلی طولانی بنویسیم. وجود خطوط بلند یکی دیگه از اصول خوانایی کد هست باعث میشه که کدها یکدست دیده نشن. از طرفی وسط یک خط نمیشه با زدن اینتر (Enter) به خط بعدی رفت و مابقی کد رو از اونجا نوشت (با انجام این کار به ما پیغام داده میشه که باعث ایجاد خطا میشه). اما یک راه برای ایجاد این شکستگی تو کدهای بلند وجود داره.
زمانیکه میخواید یک خط رو به دو خط تبدیل کنید باید در قسمتی که قصد شکستن خط رو دارید یک فاصله و زیرخط بذارید ( _) و بعد از آن اینتر بزنید. با این کار نشون به اجرا کننده برنامه نشون دادیم ادامه این خط از کد در خط بعدی قرار داده شده.
در مثال زیر نشون میدیم که چطوری شکستگی خطوط باعث افزایش خوانایی کدهای وی بی میشه. دستور If زیر رو در نظر بگیرید:

حتما بخوانید:  تابع Sumif اکسل | محاسبه جمع شرطی در یک مجموعه داده
1
If (index = 1 And sColor1 = "red") Or (index = 2 And sColor1 = "blue") Or (index = 3 AndsColor1 = "green") Then

با اضافه شدن شکستگی خط، همان ساختار رو به صورت زیر میتونیم استفاده کنیم:

1
2
3
If (index = 1 And sColor1 = "red") Or _
   (index = 2 And sColor1 = "blue") Or _
   (index = 3 And sColor1 = "green") Then

بعد از اینکه ساختار If رو به صورت بالا شکستیم و تبدیل به سه خط کردیم، شرایط مختلف رو به راحتی تشخیص میدید.
در این آموزش سعی کردیم نشون بدیم که نحوه توضیح و نوشتن کدهای وی بی چقدر میتونه تو خوانایی و روشن بودن مفهوم کد تأثیر داشته باشه که نتیجه آن ذخیره ساعت ها وقت شما در درک کدها و کاهش احتمال به وجود آمدن خطا است.

برچسب:مقدماتی

  • اشتراک گذاری:
profile avatar
سامان چراغی
من سامان چراغی هستم. دانش آموخته مقطع فوق لیسانس دانشگاه تربیت مدرس در رشته مهندسی صنایع. از سال 1388 اکسل و برنامه نویسی VBA رو به صورت حرفه ای شروع کردم.

مطلب قبلی

چهار گام ایجاد پیوت تیبل (Pivot Table)
۲۲ تیر ۱۳۹۶

مطلب بعدی

تعریف متغیر ها و ثابت ها در وی بی (VBA) | قسمت اول
۲۲ تیر ۱۳۹۶

ممکن است همچنین دوست داشته باشید

For-VBA-Cover
ایجاد حلقه های تکرار در VBA اکسل با ساختار For
۲۱ فروردین, ۱۳۹۷
Events Cover
رویدادها در اکسل
۱۰ فروردین, ۱۳۹۷
InputBox-Function-Cover
تابع Msgbox و تعامل با کاربر
۱۲ اسفند, ۱۳۹۶

    6 نظر

  1. profile avatar
    رضا
    ۹ اردیبهشت ۱۳۹۹
    پاسخ

    سلام
    آبا این امکان وجود دارد که چند ماکرو را با یک دکمه اجرا کنیم؟

    • profile avatar
      سامان چراغی
      ۹ اردیبهشت ۱۳۹۹
      پاسخ

      سلام
      بله، کافیه ماکروهای دیگه رو درون یک ماکرو فراخوانی کنید و این ماکرو رو اجرا کنید.

      • profile avatar
        رضا
        ۹ اردیبهشت ۱۳۹۹
        پاسخ

        ممنون مهندس جان
        لطف میکنید روش فراخوانی چند ماکرو در ماکروی دیگر رو توضیح بدید.

        • profile avatar
          سامان چراغی
          ۱۱ اردیبهشت ۱۳۹۹
          پاسخ

          اسم ماکرو های مورد نظر رو در بدنه ماکرو اول بنویسید

          • profile avatar
            رضا
            ۱۶ اردیبهشت ۱۳۹۹

            ممنون از راهنماییتون
            یک سوال دیگه داشتم من یک کد نوشتم از دستور if و elseif استفاده کردم که شرطم حدود 600 حالت داره که بعد از هر if یک سری دستور اجرا میشه مثلا بعد از if اول دستور a و دستور x و y بعد از if دوم دستور b و دستور x و y الی آخر یعنی دستور x و y توی همه شرطها تکرار میشه.
            آیا راهی برای خلاصه کردنش وجود داره؟ لطفا راهنمایی کنید.

          • profile avatar
            سامان چراغی
            ۲۴ اردیبهشت ۱۳۹۹

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

نظر بدهید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

-- بارگیری کد امنیتی --

زودتر از دیگران با خبر بشید

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

آخرین مطالب

مقادیر متمایز در اکسل
تفاوت داده Distinct و Unique چیست؟ چطور میشه مشخص کرد
۱۰فروردین۱۴۰۰
استفاده از چندین تابع IF اکسل در هم
توابع IF تو در تو و نکات مهمی که باید بدانید
۲۷اسفند۱۳۹۹
تابع Trim
تابع Trim در اکسل
۲۱اسفند۱۳۹۹
کاربرد Power Query
چند مثال کاربردی از ابزار Power Query
۱۵اسفند۱۳۹۹

وجود یک منبع جامع و به روز که بدونی همیشه پشتیبانته برای یادگیری ضروریه. اکسل پدیا رو برای همین به وجود آوردیم.

پاسخ سوالات شما

اگر سوالات اکسلی دارید تو تالار گفتمان اکسل پدیا میتونید مطرح کنید. اساتید بسیاری هستند که به شما کمک میکنند.

کانال و تالار گفتمان اکسل پدیا

ورود به تالار گفتگو تلگرام

عضویت در خبرنامه
با عضویت در خبرنامه، ایمیل‌های آموزشی درباره اکسل و برنامه نویسی وی بی را دریافت خواهید کرد.

  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

021-47625755

[email protected]

آدرس: تهران، میدان دوم صادقیه، برج گلدیس، طبقه 7 واحد 721

دانلود اپ اکسل پدیادانلود از کافه بازار

تمامی حقوق برای اکسل پدیا محفوظ است.

  • اکسل از راه دور
  • شرایط و قوانین
  • درباره ما
  • تماس با ما