آموزش ماکرونویسی - برنامه نویسی در اکسل به روش من

از ماکرونویسی نهراسید! بسیار ساده است!

صفحه اصلي | آرشيو مطالب | تماس با من                    ali_fatehi@yahoo.com

آموزش  مشاورهداستان وبلاگ من

 

كتاب ماكرونويسي و برنامه نويسي كار بردي به زبان VBA در Excel

به نگارش اينجانب منتشر شد
مولف: علي فاتحي
ناشر: انتشارات سازمان بورس

 مراكز پخش

«نمايشگاه و فروشگاه انتشارات بورس»
شماره تماس:  88648192
(تهران - ميدان ونك - خ ملاصدرا- شماره 25)
اطلاعات كتاب و سفارش خريد آنلاين از انتشارات بورس

«انتشارات صانعي»

شماره تماس:  5385  6640
(
تهران- خ انقلاب- روبروي  دانشگاه تهران- پلاك 1290)
www.saneibook.com

 

.....در زماني كوتاه و به راحتي مي توانيد در اكسل برنامه و ماكرو بنويسيد؛ حتي اگر شما برنامه نويس نباشيد ماكرونويسي و برنامه نويسي ابزاري مناسب براي كاربراني است كه مي خواهند در Excel بهتر و پوياتر عمل كنند. زبان برنامه نويسي مورد استفاده در Excel بسيار شبيه زبانهاي محاوره اي است و VBA

 (Visual Basic for Applictions )
نام دارد.
......

20 صفحه اول كتاب را از اينجا برداريد.


اين كتاب براي كاربراني نوشته شده كه با برنامه‌نويسي و ماكرونويسي آشنايي نداشته يا آشنايي كمي دارند و مي‌خواهند در نرم‌افزار اكسل كارهاي بهتر و پوياتري انجام دهند و با زباني ساده و به دور از پيچيدگي مفاهيم اوليه و كاربردي را گام به گام ارايه نموده است. مثال‌ها متنوع و كاربردي‌اند. از برنامه‌هاي ساده  و "تابع تبديل عدد به حروف" گرفته تا "پياده‌سازي مفاهيم مهندسي مالي" در كتاب آموزش داده شده‌اند..

 

 

 

 

آخرين مطالب

1. کار با سلولها و ناحیه ها

(Cells and Ranges objectsَ)

از رایج ترین و پرکاربردترین کارها در اکسل کار با  سلولها و ناحیه ها  است. انتخاب یک ‍cell ‌ یا Range، وارد نمودن فرمول، تغییر رنگ و قلم و‌ وارد نمودن یک عدد از جمله کارهایی است که می‌توان در مورد آنها انجام داد. معمولا در ابتدا Range ‌ را مشخص و سپس یکی از ویژگیهای(Propertires) آن را تنظیم کرده  یا یک متد(Method) را بر آن اعمال می‌کنیم.

یک Range می‌تواند شامل تنها یک سلول یا چندین سلول باشد. این سلولها می‌توانند در کنار یکدیگر یا بطور پراکنده باشند. در ادامه متداول ترین روشهای تعریف و کار با شی Range  ارایه می‌شود

.


1.1        استفاده از  نماد گذاری A1

با استفاده از روش نمادگذاری A1 میتوان یک Range ‌ را مشخص کرد. برنامه زیر سلول‌های موجود در ناحیه A1 ‌ تا D5  را Bold  می‌کند. برای اینکار ابتدا این ناحیه بصورت Range("A1:D5") مشخص و سپس ویژگی مورد نظر را تغییر می‌دهیم.

Sub FormatRange()

Range("A1:D5") .Font.Bold = True

End Sub

برای انتخاب یک  Range، ابتدا آنرا مشخص و سپس متد Select   را بر آن اعمال می‌کنیم.

  • کد زیر سلول‌های همسایه در ناحیه A1‌ تا D5 ‌ را انتخاب می‌کند:

Range("A1:D5").Select

  •   میتوان نقاط غیرهمسایه و پراکنده را به عنوان Range  معرفی کرد. کد زیر به ناحیه ای که شامل  سلول A8، ناحیه B2 ‌ تا   C5 و سلول K2 اشاره می کند:

Range(" A8, B2:C5 , K6")

  یک روش بسیار پرکاربرد در معرفی Rangeها در رابطه با نواحی مستطیلی است که سلولهای آن نیز همجوار هستند. می توان با دادن دو سر قطر یک ناحیه مستطیلی آنرا مشخص کرد. که روش جایگرین برای معرفی ناحیه ای مثل  A1:D5 است:

Range(" A1","D5")

جدول بعدی برخی از آدرس دهی ها با شیوه  نماد گذاری A1 را نشان می‌دهد.

عبارت

مفهوم

Range(" َA1")


سلول A1

 

 

 

Range(" A1:B5")

 

سلولهای A1   تا B5

Range("C5:D9,G9:H16 ")

شامل دو ناحیه : ناحیه C5  تا D9  و ناحیه G9  تا H16

Range("A:A")

ستون Column A) A)

Range("1:1")

سطر 1 (Row 1)

Range("A:C")

ستونهای A  تا C

Range(" 1:5")

سطرهای 1 تا 5

Range(" 1:1,3:3,8:8")

سطر 1 و سطر3 و سطر 8

Range(" A:A,C:C,F:F")

ستون A، ستون ‍‍‍C و ستون F

 

بطور کلی ویژگیRange بصورتهای زیر بکار می‌رود:

 Range("range1,range2,….rangeN")

 یا

("ناحیه آخر,… , ناحیه دوم, ناحیه اول")Range

--------------------------------

Range(Cell1,Cell2)

Cell1  و cell2 ‌ نقاط دو سر قطر یک ناحیه مستطیلی است

           که میتوان با استفاده از مختصات دو سر قطر یک ناحیه مستطیلی Range ‌ را مشخص کرد.

 

 

 

 

1.2         ویژگیCells   و روش آدرس دهی مختصاتی

 

با استفاده از ویژگی Cells  میتوان یک سلول را  با استفاده از آدرس سطر و ستون  آدرس دهی و مشخص کرد. این ویژگی یک شی از نوع Range  را به ما میدهد که این شی تنها یک سلول دارد.

 

ویژگی Cells بصورت کلی زیر نوشته می‌شود:

Cells(شماره سطر, شماره ستون)

 

در مثال بعدی Cells(6,1)  سلول A6 را مشخص و ویژکی Valueرا برابر با alifatehi.persianblog.irمی‌کند. این بدین معناست که در سلول A6  عدد 10 قرار می‌گیرد.

 

SUB EnterValue
Cells(6, 1).Value = "alifatehi.persianblog.ir"
End Sub

 

میتوان بجای شماره سطر و یا ستون از اسامی‌متغیرها نیز استفاده کرد.

Sub EnterValue()
 i=cells(1,1).Value
 
 
j=6
Cells(i, j).Value = "alifatehi.persianblog.ir"
End Sub
 

 

  •    می‌توانیم روش آدرس دهی مختصاتی را با روش قبلی ترکیب و ناحیه مستطیلی A1:D5‌  را مشخص کنیم:
             Range(Cells(1, 1), Cells(4, 2))
 
  •   برای اینکه بصورت همزمان و در یک لحظه تغییر ویژگیها( properties)  یا انجام یک متد بر روی یک ناحیه صورت پذیرد از ویژگی Range  استفاده کنید.

1.3        نحوه ارجاع به سطرها و ستونها

با استفاده از ویژگی Rows و Columns میتوان به راحتی با سطرها و ستونها کار کرد. این ویژگی ها  نیز یک شی Range  به ما می‌دهد که شامل ناحیه ای از سلولهاست. در مثال بعدی Rows(1) ستون 1  را مشخص می‌کند. ویژگی Bold از شی Font برای این ناحیه را با مقدار True  تنظیم می‌کند.

Sub RowBold()
Worksheets("Sheet1").Rows(1).Font.Bold = True
End Sub

 

جدول بعدی برخی از آدرس دهی های سظرها و ستونها را با استفاده از ویژگی های  Rows  و Columns نشان می‌دهد. نشان می‌دهد.

عبارت

مفهوم

Rows(1)

سطر 1

Rows

تمامی‌سطرهای Sheet

Columns(1)

ستون یک

Columns("A")

ستون A

Columns

تمامی‌ستونهای Sheet

Rows("1:5")

سطرهای 1  تا  5

Columns("B:D , F,K")

ستونهای B  تا  و ستون F ‌ Dو ستون K  

1.4        ارجاع به Rangeهای نامگذاری شده

فرض کنید که در شیت جاری ناحیه ای با نام MyRange ‌ وجود داشته باشد . برای پاک کردن محتوای این ناحیه ابتدا با دستور Select ‌ آن‌ را انتخاب و با اعمال متد ClearContents محتوایش را پاک می‌کنیم.

Sub ClearRange()
Range("MyRange").Select
Selection.ClearContents
End Sub

اگر ناحیه ای در اکسل در workbook یا  Sheet جاری نباشد و به عنوان مثال  دریک  workbook به نام "MyBook.xls." با نام  "MyRange" نامگذاری شده باشد می‌توان این ناحیه را به شکل زیر مورد استفاده قرار داد:

Sub FormatRange()
Range("MyBook.xls!MyRange").Font.Italic = True
End Sub
1.5        ارجاع به تمامی‌سلولهای یک شیت

برای اینکه تمامی‌سلولهای یک شبت را مشخص کینم از  ویژگی Cells  بدون هیچ سطر و ستون و به شکل خالی استفاده می‌کنیم. مثال بعدی محتوای کلیه سلولهای موجود در Sheet1 از workbook جاری را پاک می‌کند.

Sub ClearSheet()
Worksheets("Sheet1").Cells.ClearContents
End Sub

 

.: Weblog Themes By Iran Skin :.

درباره وبلاگ

آرشيو مطالب
امکانات وب