More Related Content
More from shand1_undrakhchimeg (19)
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