آیا SVCHOST مقدار زیادی RAM استفاده می کند؟
آگوست 19, 2015
مشکل پر شدن فضای درایو C
مارس 30, 2016
نمایش همه

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

یکی از مزایای استفاده از مایکروسافت اکسل Microsoft Excel، قابلیت برنامه نویسی سلول ها و عملکرد آنها می باشد.

دستور زبان بکار رفته در ماکرو های اکسل، ویژوال بیسیک می باشد (Visual Basic)، و کاربرد های زیادی دارد. بعنوان مثال شما می توانید برنامه ماکرو اکسل آفیس بنویسید که حقوق کارمندان در هر ماه را گرفته و میانگین آنها را محاسبه می کند. یا می توانید کارهای حسابداری و مالیاتی را بصورت برنامه نویسی شده و مجتمع در اکسل انجام دهید.

بیایید این برنامه نویسی ویژوال بیسیک در اکسل Excell را با یک مثال نشان دهیم.

فرض کنید یک ماتریس داریم و میخواهیم ترانسپوز (معکوس) این ماتریس را محاسبه کرده و نمایش دهیم.

اولین کاری که باید شما انجام دهید، ایجاد یک فایل اکسل جدید است و ذخیره کردن این فایل با پسوند xlsm. این پسوند برای فایل های اکسلی هست که macro enabled هستند یعنی کد برنامه نویسی ماکرو دارند.

سپس، بر روی فایل ایجاد شده دابل کلیک کنید تا صفحه اکسل را ببینید. اگر مایل هستید، می توانید Sheet2 و Sheet3 را پاک کنید تا فقط Sheet1  باقی بماند. اگر با پیغام Enable Macros روبرو شدید، بر روی این دگمه کلیک کنید تا ماکرو ها فعال شوند.

سپس کلید Alt + F11 را بزنید تا بین صفحه اکسل و برنامه ماکرو سوئیچ کنید. توجه کنید که ALT و F11 باعث می شود شما بین نگاه به صفحه اکسل و کد برنامه نویسی MACRO اکسل تغییر وضعیت دهید.

خوب. بر فرض که اکنون به صفحه کد نویسی ماکرو اکسل نگاه می کنید. بیایید و کد زیر را در آن قرار دهید و ذخیره کنید:

Private Sub transpose()
Dim i, j, rw, cl As Integer
Dim a(), b() As Integer
rw = 4
cl = 4
ReDim a(rw - 1, cl - 1)

Sheets("Sheet1").Select
Range("A1").Select
i = 1
Do Until Selection.Column = rw + 1 'i = row
    j = 1
    Do Until Selection.Row = cl + 1 'j = col
        a(i - 1, j - 1) = Selection.Value
        j = j + 1
        Selection.Offset(1, 0).Select
    Loop
    i = i + 1
    Selection.Offset(-4, 1).Select
Loop

Range("A1").Select
i = 1
Do Until Selection.Column = rw + 1
    j = 1
    Do Until Selection.Row = cl + 1
        Selection.Value = a(j - 1, i - 1)
        j = j + 1
        Selection.Offset(1, 0).Select
    Loop
    i = i + 1
    Selection.Offset(-4, 1).Select
Loop


End Sub

همانطور که می بینید ابتدا یک Sub ایجاد می شود که ساب روتین اصلی شما می باشد. سپس یک سری متغیر های بکار رفته با دستور Dim ایجاد می شوند.

سپس، مقدار دهی اولیه به متغیر ها انجام می شود و Sheet1 انتخاب می شود و همچنین A1 از بین سلول های این برگه انتخاب می شود. سپس همانطور که می بینید، یک لوپ تودرتو ایجاد می شود و به تعداد 4 سطر و ستون انتخاب شده و در متغیر a ذخیره می شوند.

پس از اینکه متغیر a که یک ماتریس دو بعدی هست ایجاد شد، تنها کاری که لازم است انجام دهیم این است که جای سطر و ستون (i و j) در این آرایه عوض شده و سطر و ستون ها در سلول های برگه جایشان عوض شود. یعنی اگر سطر 1 و ستون 2 مقداری معادل 5 داشت، اینک سطر 2 و ستون 1 مقداری معادل 5 خواهد داشت.

با این روش، ماتریس مورد نظر معکوس شده و متغیر جدید در سلول ها ذخیره می شود.

نحوه کار با این برنامه ماکرو بدین صورت است که شما ابتدا در سلول ها یک ماتریس ایجاد می کنید. مانند:

1 2 4 5

4 4 7 8

3 6 9 1

2 3 6 5

سپس، ALT+F11 را می زنید تا به محیط برنامه نویسی بروید. سپس، کد فوق را در آن وارد کرده و CTRL+S را می زنید تا فایل ذخیره شود.

سپس، F5 را می زنید تا کد اجرا شود. اگر Error یا خطایی وجود نداشت می توانید دوباره ALT+F11 بزنید تا ماتریکس معکوس شده را مشاهده نمایید.

 

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

 

5/5 - (1 امتیاز)
امین بهداروند
فارغ التحصیل کارشناسی برق مخابرات هستم. هم اکنون بعنوان کارشناس تجهیزات فیبر نوری و مخابراتی فعالیت می کنم. به زمینه های دیگر شامل برنامه نویسی vb.net و PHP و MySQL و همچنین طراحی وب سایت، طراحی گرفیکی و بازی سازی سه بعدی، بلاگ نویسی، موسیقی و... نیز علاقه مند هستم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.