SlideShare a Scribd company logo
Еxcel&VBA..

     Хамгийн өргөн ашиглагддаг хэрэглээний програмуудын нэг билээ. Сая сая
хэрэглэгч Excel-ийг бүртгэл, тооцоололд ашиглахаас гадна төрөл бүрийн маягт,
анкет мэтийн бичиг баримтын загвар боловсруулах, график байгуулах зэрэг олон
зориулалтаар ашигласаар ирсэн. Excel нь Macro, Visual basic, Control toolbox, Form
гэх мэт томоохон контентуудыг өөртөө агуулж байдаг бөгөөд маш өргөн боломж
бололцоог хэрэглэгчдэд олгодог гэдгийг зарим хэрэглэгчид мэддэггүй. Excel-ийг
бүрэн хүчин чадлаар нь ашиглахын тулд та эдгээр контентуудын талаар ойлголттой
байх шаардлагатай.

     CONTROL TOOLBOX

     Хэрэв таны дэлгэцнээ Control Toolbox хэрэгслүүд харагдахгүй байгаа бол View | Toolbars |
Control Toolbox командаар гаргаж болно.

     • Label

     Энэ хэрэгсэл нь аливаа формд текст оруулж өгнө. Label нь гарчиг эсвэл тайлбар
тэмдэглэгээг харуулахад ихэвчлэн ашигладаг. Label-ийн шинж чанарыг өөрчилснөөр өнгө, фонт,
байрлал зэргийг тодорхойлж болно.

     • Textbox

     Энэ хэрэгсэл нь ерөнхийдөө Label-тай адил боловч формыг ашиглагчдад өөрчлөлт хийх
боломж олгодгоороо ялгаатай юм.

     • Combobox

     ComboBox нь урьдчилан оруулж өгсөн текстүүдийн жагсаалт бүхий сонголтын хэрэгсэл.

     • Listbox

     Энэ хэрэгсэл нь Combox-ийн адил сонголт хийх зориулалттай боловч бүх сонголт нэг дор
харагддагаараа ялгаатай.

     • CommandButton

     Энэ хэрэгсэл нь формын хувьд хамгийн өргөн хэрэглэгддэг элемэнт юм. Аливаа програмын
Ok болон Cancel товч нь CommandButton-ны жишээ юм.

     • Frame

    Frame нь бүлэг хэрэгслүүдэд гарчиг өгөх, бусад хэрэгслүүдээс тусгаарлах үүрэгтэй. Аливаа
формд Frame-ийг ашиглахдаа бусад хэрэгслүүдээс өмнө оруулж өгөх шаардлагатай.

     • Image

     Энэ хэрэгслийг ашиглан формд зураг оруулах боломжтой.
Аль ч хэрэгслүүдийн хувьд шинж чанарыг нь тодорхойлж өгснөөр та өөрийн хэрэгцээ
шаардлагадаа тохируулан ашиглах боломжтой юм. Гэвч хэрэгсэл тус бүр нь өөр хоорондоо
ялгаатай шинж чанартай байдаг. Зарим хэрэгсэлд байгаа шинж чанар бусад хэрэгсэлд байхгүй
байж болдог.

     MACRO

     Хэрэв та Excel-ийг их ашигладаг бол хавтас, нүдтэй хэрхэн ажиллах, өгөгдөл, томьѐо
оруулах зэрэг ерөнхий ажиллагааг сайн мэдэх байх. Магадгүй та макро бичиж үзсэн ч байж
болох юм. Макрог ашигласнаар та Excel-ийг хэрэглэгчдийн шаардлагыг бүрэн хангасан ямар
хүчирхэг програм болохыг улам бүр мэдрэх болно. Макро нь VBA (Visual Basic for Applications)
програмчлалын хэл дээр бичигдсэн нэгэн төрлийн жижиг програмчлал юм. Macro-VBA-г ашиглан
хийх үйлдлээ програмчлан хялбарчлах, хурдасгах бүр цаашилбал шинээр функц, команд үүсгэх
боломжтой юм.

     Excel дээр макро үүсгэх хоѐр арга зам бий:

     1. Автоматаар

     2. Кодоор

     Эхний аргаар макро бичихэд та заавал програм бичих талаар мэргэжлийн мэдлэгтэй байх
шаардлагагүй юм. Харин кодоор макро бичихийн тулд VBA програмчлалын хэлний талаар
тодорхой хэмжээний ойлголттой байх хэрэгтэй.

     Автоматаар макро бичих. Office-ийн сүүлийн хувилбарууд болох Office 97-2003
хувилбарууд дээр хэрэглэгчийн хийсэн үйлдэл бүрийг автоматаар бичих замаар макро үүсгэж
болдог болсон. Ингэж макрог автоматаар үүсгэхийн тулд Tools | Macro | Record New Macro
командыг сонгоно (Зураг 2). Нээгдэх Record Macro харилцах цонхны Macro Name талбарт
шинээр үүсгэх макроны нэрийг өгөх ба Description хэсэгт тухайн макрог товч тодорхойлон бичих
эсвэл багахан хэмжээний тодотгол хийж болно. Нэгэн хялбар макро бичиж үзэцгээе.

     Зураг 2. Автоматаар макро бичих




     Жишээ 1. Дурын 10 тоо үүсгэж тэдгээрийг өсөх эрэмбээр байрлуулдаг макро бичье.
1. Tools | Macro | Record New Macro командыг сонгоно

     2. Бичих гэж буй макродоо RandTenNum гэж нэрлэж Macro Name талбарт оруулж өгнө.

     3. ОК товчлуурыг дарна. Үүний дараа Excel таны хийсэн бүх үйлдлийг автоматаар бичих
болно. Яг л камераар зураг авахтай адил...

      4. Бичилт явагдаж эхэлсний дараа хийгдэх эхний үйлдэл бол тоонуудаа үүсгэх явдал юм.
Үүний тулд A1 нүдийг сонгож =rand() гэсэн томьѐог оруулна. Энэ томьѐо нь санамсаргүйгээр 0-
ээс 1-ийн хооронд тоог үүсгэдэг.

     5. A2:A10 нүдэнд дээрх томьѐог хуулна. Ингэснээр санамсаргүйгээр үүсгэсэн 10 тоо бэлэн
болно.

     6. A1:A10 мужийг сонгож Data | Sort командаар өсөх (Ascending) эрэмбээр эрэмбэлнэ.

     7. Дээрх үйлдлүүдийг хийж гүйцэтгэсний дараа Stop товчлуурыг дарж макро бичилтийг
зогсооно.

      Кодоор макро бичих. VBA кодоор маш өргөн цар хүрээ бүхий макро бичиж болдог.
Ингэхийн өмнө макро хаана бичигддэг болон хадгалагддаг болохыг мэдэх хэрэгтэй. Бичигдэж
буй бүх макро нь VBA project-д агуулагддаг бөгөөд Visual Basic Editor-оор дамжин ажилладаг.
Visual Basic Editor-ыг нээхийн тулд Alt+F11 дарах эсвэл Tools | Macro | Visual Basic Editor
командыг ашиглана (Зураг 3).

     Зураг 3. Visual Basic цонх




     Кодоо бичихийн тулд Visual basic цонхны Insert | Module командыг сонгоно. Шинээр
нээгдэх цонхонд макро командын кодыг оруулж өгнө.

     Жишээ 2. Хялбархан боловч автоматаар бичих боломжгүй нэгэн макрог кодоор бичье.

     1. Tools | Macro | Visual Basic Editor командыг сонгоно.

     2. Visual basic цонхны Insert | Module командыг сонгоно.

     3. Дараах кодыг бичнэ:
Sub First_Macro()

     MsgBox “Hello”

     End Sub

     4. Save команд эсвэл Ctrl+S товчийг дарж хадгална.

     Макрог ажиллуулах ба засварлах. Макрог автоматаар эсвэл кодоор бичсэн эсэхээс үл
хамааран ажиллуулах болон засварлах горим нь ижил юм. Макрог Excel ба Visual Basic-ын
алинаас нь ч ажиллуулж болно. Visual Basic дээр макрог ажиллуулахдаа play эсвэл F5 товчийг
ашиглана. Харин Excel дээр:

     1. Tools | Macro | Macros командыг сонгоно.

     2. Нээгдэх Macros харилцах цонхны Macro name талбараас ажиллуулах макрогийн нэрийг
сонгоно.

     3. Run товчлуур дээр дарна.

     4. Хэрэв засварлах бол Edit товчлуур дээр дарна.

     Одоо өргөн ашиглагдаж болох зарим жишээг авч үзэцгээе. Хэрэв та VB-ийн талаар
мэдлэггүй бол кодыг шууд хуулахыг зөвлөж байна. Бидний гол зорилго бол код биш харин
түүний эцсийн үр дүн юм. Дараах жишээгээр Excel дээр VB ашиглан хэрхэн шинэ томьѐо үүсгэж
болохыг харъя.

     Хэн үүнийг хийсэн бэ?

     Excel нь мэдээллийн шинж чанартай олон функцуудыг агуулж байдаг. Жишээ нь CELL,
INFO… г.м. Гэвч тухайн файлыг хэн, хэзээ бэлтгэсэн талаар мэдээллийг харуулдаг функц
байдаггүй. Мэдээж та File | Properties командаар хэн энэ файлыг үүсгэсэн талаар мэдээллийг авч
болно. Бидний зорилго VBA ашиглан хэрхэн томьѐо шинээр үүсгэх гэдгийг дээр дурьдсан.
Нээлттэй байгаа файлыг хэн хэзээ үүсгэснийг илэрхийлдэг WHO хэмээх функцийг VBA код
ашиглан шинээр үүсгэе. Үүний тулд VB дээр дараах кодыг оруулж өгнө.

     Function WHO()

     temp = “Created by “

     Dim Workbook As Workbook

     Set Workbook = Application.ActiveWorkbook

     For Each property In Workbook.BuiltinDocumentProperties

     On Error Resume Next

     If property.Name = “Author” Then temp = temp & property.Value

     If property.Name = “Creation date” Then temp = temp & “ on “ & property.Value
Next property

     WHO = temp

     End Function

     Аливаа холбоос болж буй үгний хоѐр талд зай авахаа мартаж болохгүй. Дээрх жишээний
хувьд “on” гэсэн үг холбоос болж байна. Кодоо бичсэний дараа дурын нүдэнд =WHO() гэсэн
функцийг оруулж өгөхөд бидний хүсэж буй мэдээлэл гарч ирнэ.

     Нүдийг хэрхэн анивчдаг болгох вэ?

     Хэрэв та хэн нэгэнд зориулан файл бэлтгэх үед хэрэглэгчийн анхаарлыг зарим нүд, муж
дээр илүү их хандуулах шаардлага гарч болох юм. Microsoft word дээр нь энэ нь тун энгийн
байдаг (Format>Font>Text Effect). Харин Microsoft Excel дээр VBA ашиглах шаардлагатай болно.
Үүний тулд:

     1. Tools > Macro > Visual Basic Editor –г сонгоно.

     2. Visual Basic Editor-ийн Insert цэснээс Module командыг сонгоно

     3. Гарч ирэх талбарт дараах кодыг хуулж бичнэ..

     Public NextFlash As Double

     Public Const FR As String = “Sheet1!A1”

     Sub StartFlashing()

     If Range(FR).Interior.ColorIndex = 3 Then

     Range(FR).Interior.ColorIndex = xlColorIndexNone

     Else

     Range(FR).Interior.ColorIndex = 3

     End If

     NextFlash = Now + TimeSerial(0, 0, 1)

     Application.OnTime NextFlash, “StartFlashing”, , True

     End Sub

     Sub StopFlashing()

     Range(FR).Interior.ColorIndex = xlColorIndexNone

     Application.OnTime NextFlash, “StartFlashing”, , False

     End Sub
Кодны 2 дахь мөрөнд анивчих нүдний хаягийг зааж өгсөн. Хэрэв та өөр нүд анивчуулахыг
хүсвэл хаягийг нь солиход хангалттай.

     Visual Basic ба Excel-ийг хослуулан ашиглах талаар илүү гүнзгийрүүлэн үзэхийг хүсвэл
дараах эх сурвалж (Resource) -уудыг ашиглахыг зөвлөж байна

     1. Microsoft Visual Basic Help

     2. http://www.j-walk.com (John Walkenbach-ийн хувийн сайт)

     3. http://www.excel-vba-access.com/

     4. http://www.lacher.com/toc.htm

     5. http://office.microsoft.com

More Related Content

Similar to 001 vba (20)

Cs101 lecture6
Cs101 lecture6Cs101 lecture6
Cs101 lecture6
 
Ood lesson4
Ood lesson4Ood lesson4
Ood lesson4
 
Auto cad программын монгол ном
Auto cad программын монгол номAuto cad программын монгол ном
Auto cad программын монгол ном
 
Auto cad программын монгол ном
Auto cad программын монгол номAuto cad программын монгол ном
Auto cad программын монгол ном
 
Autocad 140430000617-phpapp02
Autocad 140430000617-phpapp02Autocad 140430000617-phpapp02
Autocad 140430000617-phpapp02
 
Excel програмын тухай ойлголт 1
Excel програмын тухай ойлголт 1Excel програмын тухай ойлголт 1
Excel програмын тухай ойлголт 1
 
122
122122
122
 
C++ суулгах
C++ суулгахC++ суулгах
C++ суулгах
 
Excel 1-120213033043-phpapp01
Excel 1-120213033043-phpapp01Excel 1-120213033043-phpapp01
Excel 1-120213033043-phpapp01
 
Computer hereglee1.lekts
Computer hereglee1.lektsComputer hereglee1.lekts
Computer hereglee1.lekts
 
Delphi
DelphiDelphi
Delphi
 
Lab6 excel
Lab6 excelLab6 excel
Lab6 excel
 
Lecture maker taniltsuulga
Lecture maker taniltsuulgaLecture maker taniltsuulga
Lecture maker taniltsuulga
 
Lekts 3
Lekts 3Lekts 3
Lekts 3
 
Lecture13,14
Lecture13,14Lecture13,14
Lecture13,14
 
Dreamweaver 8 lesson
Dreamweaver 8 lessonDreamweaver 8 lesson
Dreamweaver 8 lesson
 
Lekts4
Lekts4Lekts4
Lekts4
 
Lab1
Lab1Lab1
Lab1
 
Excel2007 lesson
Excel2007 lessonExcel2007 lesson
Excel2007 lesson
 
Presentation excel
Presentation excelPresentation excel
Presentation excel
 

More from shand1_undrakhchimeg

озоны цоорхой соёлмаа 10а
озоны цоорхой соёлмаа 10аозоны цоорхой соёлмаа 10а
озоны цоорхой соёлмаа 10а
shand1_undrakhchimeg
 
шинэ техник технологи Shuren erene
шинэ техник технологи Shuren ereneшинэ техник технологи Shuren erene
шинэ техник технологи Shuren erene
shand1_undrakhchimeg
 
компьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргалкомпьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргал
shand1_undrakhchimeg
 
компьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяркомпьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяр
shand1_undrakhchimeg
 
компьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяркомпьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяр
shand1_undrakhchimeg
 
компьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргалкомпьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргал
shand1_undrakhchimeg
 
интернет бидний амьдралд
интернет бидний амьдралдинтернет бидний амьдралд
интернет бидний амьдралд
shand1_undrakhchimeg
 
11а ган эрдэнэ шинэ техник технологи
11а ган эрдэнэ шинэ техник технологи11а ган эрдэнэ шинэ техник технологи
11а ган эрдэнэ шинэ техник технологи
shand1_undrakhchimeg
 
Undra компьютерийн иж бүрдэл (7623463)
Undra   компьютерийн иж бүрдэл (7623463)Undra   компьютерийн иж бүрдэл (7623463)
Undra компьютерийн иж бүрдэл (7623463)
shand1_undrakhchimeg
 

More from shand1_undrakhchimeg (19)

P pt hicheel
P pt hicheelP pt hicheel
P pt hicheel
 
озоны цоорхой соёлмаа 10а
озоны цоорхой соёлмаа 10аозоны цоорхой соёлмаа 10а
озоны цоорхой соёлмаа 10а
 
шинэ техник технологи Shuren erene
шинэ техник технологи Shuren ereneшинэ техник технологи Shuren erene
шинэ техник технологи Shuren erene
 
компьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргалкомпьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргал
 
компьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяркомпьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяр
 
11в төгссайхан
11в төгссайхан11в төгссайхан
11в төгссайхан
 
компьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяркомпьютерийн эрүүл ахуй 11д эрхэмбаяр
компьютерийн эрүүл ахуй 11д эрхэмбаяр
 
компьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргалкомпьютерын эрүүл ахуй 11д түмэнжаргал
компьютерын эрүүл ахуй 11д түмэнжаргал
 
интернет бидний амьдралд
интернет бидний амьдралдинтернет бидний амьдралд
интернет бидний амьдралд
 
11b пүүжээ мзүй
11b пүүжээ мзүй11b пүүжээ мзүй
11b пүүжээ мзүй
 
11а ган эрдэнэ шинэ техник технологи
11а ган эрдэнэ шинэ техник технологи11а ган эрдэнэ шинэ техник технологи
11а ган эрдэнэ шинэ техник технологи
 
Xp secret
Xp secretXp secret
Xp secret
 
Xp problem
Xp problemXp problem
Xp problem
 
Xp law
Xp lawXp law
Xp law
 
Xp gatsah
Xp gatsahXp gatsah
Xp gatsah
 
Xp error clear
Xp error clearXp error clear
Xp error clear
 
Install xp
Install xpInstall xp
Install xp
 
Facebook
FacebookFacebook
Facebook
 
Undra компьютерийн иж бүрдэл (7623463)
Undra   компьютерийн иж бүрдэл (7623463)Undra   компьютерийн иж бүрдэл (7623463)
Undra компьютерийн иж бүрдэл (7623463)
 

001 vba

  • 1. Еxcel&VBA.. Хамгийн өргөн ашиглагддаг хэрэглээний програмуудын нэг билээ. Сая сая хэрэглэгч Excel-ийг бүртгэл, тооцоололд ашиглахаас гадна төрөл бүрийн маягт, анкет мэтийн бичиг баримтын загвар боловсруулах, график байгуулах зэрэг олон зориулалтаар ашигласаар ирсэн. Excel нь Macro, Visual basic, Control toolbox, Form гэх мэт томоохон контентуудыг өөртөө агуулж байдаг бөгөөд маш өргөн боломж бололцоог хэрэглэгчдэд олгодог гэдгийг зарим хэрэглэгчид мэддэггүй. Excel-ийг бүрэн хүчин чадлаар нь ашиглахын тулд та эдгээр контентуудын талаар ойлголттой байх шаардлагатай. CONTROL TOOLBOX Хэрэв таны дэлгэцнээ Control Toolbox хэрэгслүүд харагдахгүй байгаа бол View | Toolbars | Control Toolbox командаар гаргаж болно. • Label Энэ хэрэгсэл нь аливаа формд текст оруулж өгнө. Label нь гарчиг эсвэл тайлбар тэмдэглэгээг харуулахад ихэвчлэн ашигладаг. Label-ийн шинж чанарыг өөрчилснөөр өнгө, фонт, байрлал зэргийг тодорхойлж болно. • Textbox Энэ хэрэгсэл нь ерөнхийдөө Label-тай адил боловч формыг ашиглагчдад өөрчлөлт хийх боломж олгодгоороо ялгаатай юм. • Combobox ComboBox нь урьдчилан оруулж өгсөн текстүүдийн жагсаалт бүхий сонголтын хэрэгсэл. • Listbox Энэ хэрэгсэл нь Combox-ийн адил сонголт хийх зориулалттай боловч бүх сонголт нэг дор харагддагаараа ялгаатай. • CommandButton Энэ хэрэгсэл нь формын хувьд хамгийн өргөн хэрэглэгддэг элемэнт юм. Аливаа програмын Ok болон Cancel товч нь CommandButton-ны жишээ юм. • Frame Frame нь бүлэг хэрэгслүүдэд гарчиг өгөх, бусад хэрэгслүүдээс тусгаарлах үүрэгтэй. Аливаа формд Frame-ийг ашиглахдаа бусад хэрэгслүүдээс өмнө оруулж өгөх шаардлагатай. • Image Энэ хэрэгслийг ашиглан формд зураг оруулах боломжтой.
  • 2. Аль ч хэрэгслүүдийн хувьд шинж чанарыг нь тодорхойлж өгснөөр та өөрийн хэрэгцээ шаардлагадаа тохируулан ашиглах боломжтой юм. Гэвч хэрэгсэл тус бүр нь өөр хоорондоо ялгаатай шинж чанартай байдаг. Зарим хэрэгсэлд байгаа шинж чанар бусад хэрэгсэлд байхгүй байж болдог. MACRO Хэрэв та Excel-ийг их ашигладаг бол хавтас, нүдтэй хэрхэн ажиллах, өгөгдөл, томьѐо оруулах зэрэг ерөнхий ажиллагааг сайн мэдэх байх. Магадгүй та макро бичиж үзсэн ч байж болох юм. Макрог ашигласнаар та Excel-ийг хэрэглэгчдийн шаардлагыг бүрэн хангасан ямар хүчирхэг програм болохыг улам бүр мэдрэх болно. Макро нь VBA (Visual Basic for Applications) програмчлалын хэл дээр бичигдсэн нэгэн төрлийн жижиг програмчлал юм. Macro-VBA-г ашиглан хийх үйлдлээ програмчлан хялбарчлах, хурдасгах бүр цаашилбал шинээр функц, команд үүсгэх боломжтой юм. Excel дээр макро үүсгэх хоѐр арга зам бий: 1. Автоматаар 2. Кодоор Эхний аргаар макро бичихэд та заавал програм бичих талаар мэргэжлийн мэдлэгтэй байх шаардлагагүй юм. Харин кодоор макро бичихийн тулд VBA програмчлалын хэлний талаар тодорхой хэмжээний ойлголттой байх хэрэгтэй. Автоматаар макро бичих. Office-ийн сүүлийн хувилбарууд болох Office 97-2003 хувилбарууд дээр хэрэглэгчийн хийсэн үйлдэл бүрийг автоматаар бичих замаар макро үүсгэж болдог болсон. Ингэж макрог автоматаар үүсгэхийн тулд Tools | Macro | Record New Macro командыг сонгоно (Зураг 2). Нээгдэх Record Macro харилцах цонхны Macro Name талбарт шинээр үүсгэх макроны нэрийг өгөх ба Description хэсэгт тухайн макрог товч тодорхойлон бичих эсвэл багахан хэмжээний тодотгол хийж болно. Нэгэн хялбар макро бичиж үзэцгээе. Зураг 2. Автоматаар макро бичих Жишээ 1. Дурын 10 тоо үүсгэж тэдгээрийг өсөх эрэмбээр байрлуулдаг макро бичье.
  • 3. 1. Tools | Macro | Record New Macro командыг сонгоно 2. Бичих гэж буй макродоо RandTenNum гэж нэрлэж Macro Name талбарт оруулж өгнө. 3. ОК товчлуурыг дарна. Үүний дараа Excel таны хийсэн бүх үйлдлийг автоматаар бичих болно. Яг л камераар зураг авахтай адил... 4. Бичилт явагдаж эхэлсний дараа хийгдэх эхний үйлдэл бол тоонуудаа үүсгэх явдал юм. Үүний тулд A1 нүдийг сонгож =rand() гэсэн томьѐог оруулна. Энэ томьѐо нь санамсаргүйгээр 0- ээс 1-ийн хооронд тоог үүсгэдэг. 5. A2:A10 нүдэнд дээрх томьѐог хуулна. Ингэснээр санамсаргүйгээр үүсгэсэн 10 тоо бэлэн болно. 6. A1:A10 мужийг сонгож Data | Sort командаар өсөх (Ascending) эрэмбээр эрэмбэлнэ. 7. Дээрх үйлдлүүдийг хийж гүйцэтгэсний дараа Stop товчлуурыг дарж макро бичилтийг зогсооно. Кодоор макро бичих. VBA кодоор маш өргөн цар хүрээ бүхий макро бичиж болдог. Ингэхийн өмнө макро хаана бичигддэг болон хадгалагддаг болохыг мэдэх хэрэгтэй. Бичигдэж буй бүх макро нь VBA project-д агуулагддаг бөгөөд Visual Basic Editor-оор дамжин ажилладаг. Visual Basic Editor-ыг нээхийн тулд Alt+F11 дарах эсвэл Tools | Macro | Visual Basic Editor командыг ашиглана (Зураг 3). Зураг 3. Visual Basic цонх Кодоо бичихийн тулд Visual basic цонхны Insert | Module командыг сонгоно. Шинээр нээгдэх цонхонд макро командын кодыг оруулж өгнө. Жишээ 2. Хялбархан боловч автоматаар бичих боломжгүй нэгэн макрог кодоор бичье. 1. Tools | Macro | Visual Basic Editor командыг сонгоно. 2. Visual basic цонхны Insert | Module командыг сонгоно. 3. Дараах кодыг бичнэ:
  • 4. Sub First_Macro() MsgBox “Hello” End Sub 4. Save команд эсвэл Ctrl+S товчийг дарж хадгална. Макрог ажиллуулах ба засварлах. Макрог автоматаар эсвэл кодоор бичсэн эсэхээс үл хамааран ажиллуулах болон засварлах горим нь ижил юм. Макрог Excel ба Visual Basic-ын алинаас нь ч ажиллуулж болно. Visual Basic дээр макрог ажиллуулахдаа play эсвэл F5 товчийг ашиглана. Харин Excel дээр: 1. Tools | Macro | Macros командыг сонгоно. 2. Нээгдэх Macros харилцах цонхны Macro name талбараас ажиллуулах макрогийн нэрийг сонгоно. 3. Run товчлуур дээр дарна. 4. Хэрэв засварлах бол Edit товчлуур дээр дарна. Одоо өргөн ашиглагдаж болох зарим жишээг авч үзэцгээе. Хэрэв та VB-ийн талаар мэдлэггүй бол кодыг шууд хуулахыг зөвлөж байна. Бидний гол зорилго бол код биш харин түүний эцсийн үр дүн юм. Дараах жишээгээр Excel дээр VB ашиглан хэрхэн шинэ томьѐо үүсгэж болохыг харъя. Хэн үүнийг хийсэн бэ? Excel нь мэдээллийн шинж чанартай олон функцуудыг агуулж байдаг. Жишээ нь CELL, INFO… г.м. Гэвч тухайн файлыг хэн, хэзээ бэлтгэсэн талаар мэдээллийг харуулдаг функц байдаггүй. Мэдээж та File | Properties командаар хэн энэ файлыг үүсгэсэн талаар мэдээллийг авч болно. Бидний зорилго VBA ашиглан хэрхэн томьѐо шинээр үүсгэх гэдгийг дээр дурьдсан. Нээлттэй байгаа файлыг хэн хэзээ үүсгэснийг илэрхийлдэг WHO хэмээх функцийг VBA код ашиглан шинээр үүсгэе. Үүний тулд VB дээр дараах кодыг оруулж өгнө. Function WHO() temp = “Created by “ Dim Workbook As Workbook Set Workbook = Application.ActiveWorkbook For Each property In Workbook.BuiltinDocumentProperties On Error Resume Next If property.Name = “Author” Then temp = temp & property.Value If property.Name = “Creation date” Then temp = temp & “ on “ & property.Value
  • 5. Next property WHO = temp End Function Аливаа холбоос болж буй үгний хоѐр талд зай авахаа мартаж болохгүй. Дээрх жишээний хувьд “on” гэсэн үг холбоос болж байна. Кодоо бичсэний дараа дурын нүдэнд =WHO() гэсэн функцийг оруулж өгөхөд бидний хүсэж буй мэдээлэл гарч ирнэ. Нүдийг хэрхэн анивчдаг болгох вэ? Хэрэв та хэн нэгэнд зориулан файл бэлтгэх үед хэрэглэгчийн анхаарлыг зарим нүд, муж дээр илүү их хандуулах шаардлага гарч болох юм. Microsoft word дээр нь энэ нь тун энгийн байдаг (Format>Font>Text Effect). Харин Microsoft Excel дээр VBA ашиглах шаардлагатай болно. Үүний тулд: 1. Tools > Macro > Visual Basic Editor –г сонгоно. 2. Visual Basic Editor-ийн Insert цэснээс Module командыг сонгоно 3. Гарч ирэх талбарт дараах кодыг хуулж бичнэ.. Public NextFlash As Double Public Const FR As String = “Sheet1!A1” Sub StartFlashing() If Range(FR).Interior.ColorIndex = 3 Then Range(FR).Interior.ColorIndex = xlColorIndexNone Else Range(FR).Interior.ColorIndex = 3 End If NextFlash = Now + TimeSerial(0, 0, 1) Application.OnTime NextFlash, “StartFlashing”, , True End Sub Sub StopFlashing() Range(FR).Interior.ColorIndex = xlColorIndexNone Application.OnTime NextFlash, “StartFlashing”, , False End Sub
  • 6. Кодны 2 дахь мөрөнд анивчих нүдний хаягийг зааж өгсөн. Хэрэв та өөр нүд анивчуулахыг хүсвэл хаягийг нь солиход хангалттай. Visual Basic ба Excel-ийг хослуулан ашиглах талаар илүү гүнзгийрүүлэн үзэхийг хүсвэл дараах эх сурвалж (Resource) -уудыг ашиглахыг зөвлөж байна 1. Microsoft Visual Basic Help 2. http://www.j-walk.com (John Walkenbach-ийн хувийн сайт) 3. http://www.excel-vba-access.com/ 4. http://www.lacher.com/toc.htm 5. http://office.microsoft.com