1. Trang chủ
  2. » Mẫu Slide

SƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAP

1 41 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 102,01 KB

Nội dung

SƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAPSƠ ĐỒ VBA EXCEL CĂN BẢN MIND MAP

Trang 1

VBA EXCEL CĂN BẢN

BÀI 1 TÌM HIỂU CƠ BẢN VỀ VBA

VBA excel là gì?

Cách bật trình soạn thảo (VBE) của VBA excel

Thiết lập 1 số tính năng mặc định Tìm hiểu cấu trúc, giao diện của các hộp thoại của IDE excel

Cách record macro, phân tích, tối ưu đoạn macro vừa ghi

Cấu trúc của 1 thủ tục (Sub), hàm (Function) trong VBA excel

CẤU TRÚC THỦ TỤC: SUB

01 Cấu trúc

02 Tham số

Links: https://docs.microsoft.com/en-us/

interface-help/sub-statement

CẤU TRÚC HÀM: FUNCTION

01 Cấu trúc

02 Tham số

Links: https://docs.microsoft.com/en-us/

interface-help/function-statement

CÁC BƯỚC THỰC HIỆN CHÍNH

B1 Khai báo biến

B2 Kiểm tra tính logic

B3 Gán giá trị ban đầu cho biên B4 Tính toán, thực hiện các thao tác chính

B5 Kết quả trả về, giải phóng bộ nhớ Cách tạo nút bấm và gán câu

lệnh macro VBA cho nút bấm

Bai01_TongKetBai01.pdf 

BÀI 2 TÌM HIỂU CẤU TRÚC, CÁC

Đối tượng Application Đối tượng Workbooks Đối tượng Workbook, ActiveWorkBook, ThisWorkbook Đối tượng Worksheets

Đối tượng Worksheet, ActiveWorksheet Đối tượng Range, Cells, Selection, ActiveCell Đối tượng Row, Rows, Column, Columns

Links tham khảo: https://docs.microsoft.com/en-us/

office/vba/language/reference/user-interface-help/

ongosub-ongoto-statements

Bai02_CacDoiTuongThuongDung.pdf 

BÀI 3 CÁC KIỂU DỮ LIỆU, BIẾN HẰNG SỐ TRONG VBA EXCEL

I Cấu trúc khai báo các kiểu biến

1 Cấu trúc chung: [Static|Public|Private|Dim] AVariable [As Type]

Public TenBien [as Kiểu biến]

Là biến toàn cục, ở đâu cũng gọi được

Vị trí: Bên ngoài Sub/Function, Trên cùng của modul

Tồn tại: Giải phóng khi thoát file

Private TenBien [as Kiểu biến]

Là biến cục bộ, chỉ gọi đối với Modul chứa nó

Vị trí: Bên ngoài Sub/Function, Trên cùng của modul

Tồn tại: Giải phóng khi thoát file

Static TenBien as [Kiểu biến]

Là biến cục bộ, chỉ gọi đối với Modul chứa nó

Vị trí: Chỉ đặt trong Sub/Function Tồn tại: Giải phóng khi thoát file

Dim TenBien as [Kiểu biến]

Là biến cục bộ, chỉ gọi đối với Modul chứa nó

Vị trí: Bên ngoài Sub/Function khi khai báo toàn cục; hoặc trong Sub/Function Tồn tại: Giải phóng khi thoát file, thoát Sub/Function

Khi không khai báo biến cụ thể thì nó mặc định là kiểu VARIANT [Public|Private] Type TenKieu End Type Kiểu người dùng tự tạo

Vùng nhớ:

Heap

Vùng nhớ chung: Biến toàn cục, Static

Chỉ phá hủy khi đóng File, hoặc lỗi chương trình

Stack

Vùng nhớ riêng: Khai báo nội bộ Sub/

Function Phá hủy khi thoát Sub/Function

2 Cấu trúc khai báo hằng số:

Public const TenBien as kiểu =Giá trị Private const TenBien as kiểu =Giá trị [Public|Private] Enum End Enum

II Tìm hiểu về các kiểu biến trong VBA excel

Boolean: Kiểu dữ liệu luận lý (True/False) Byte: Kiểu bytes

Currency: Kiểu tiền tệ Date: Kiểu dữ liệu ngày tháng Decimal: Kiểu dữ liệu dạng thập phân Double: Kiểu số thực

Integer: Số nguyên Long: Số nguyên Object: Kiểu biến đối tượng String: Kiểu chuỗi

Variant: Kiểu thực thể User-defined: Kiểu người dùng tự định nghĩa Single

LongLong LongPtr Links tham khảo: https://docs.microsoft.

com/en-us/office/vba/language/reference/

user-interface-help/data-type-summary

III Nguyên tắc đặt tên biến

1 Không đặt tên có dấu tiếng Việt, ko dấu Space (dấu cách)

2 Đặt tên ngắn gọn, dễ nhớ, không dùng các ký tự đặc biệt: ^, &, ), (,%, $, #, @, !, ~, +, -, *, …

3 Sử dụng tiếp đầu ngữ để đặt tên

integer, long: i, j, k, d, a

Object

Nếu đối tượng chung: objDoiTuong,

Nếu đối tượng cụ thể

range, cells, activecell, selection: rngSelect, rngAct, rngCurent

worksheet: sh, Actsh, wsh, sht_Data,

Workbook: Wb, ActWb, CurentWb

Double: dGiaTri, dDienTich Variant: vGiaTri, vMang, ArrSrc, ArrKQ

String: sChuoi, sFileName, sVung

Boolean: bCheck, bSelect

4 Các ký tự viết tắt khi khai báo biến

Long: &

Integer: % Currency: @ Double: # Single: ! String: $

IV Các toán tử thường dùng:

1 Toán tử số học

Cộng: + Trừ: Nhân: * Chia: / Chia (Lấy phần nguyên): \ Mod (chia lấy nguyên phần dư) Lũy thừa: ^

2 Toán tử so sánh

Bằng: = Khác: <>

Lốn hơn hoặc bằng: >=

Bé thua hoặc bằng: <=

Lớn hơn: >

Bé hơn: <

is Like

3 Toán tử nối

dấu: &

Dấu: +

4 Toán tử logic

And Not Or Eqv Xor

Bai03_KhaiBaoBien_KieuBien.pdf 

BÀI 4 CẤU TRÚC ĐIỀU KIỆN, RẼ NHÁNH

Cấu trúc If then end if

1 If condition Then [ statements ] [ Else elsestatements ]

If condition Then [ statements ] [ ElseIf condition-n Then [ elseifstatements ]]

[ Else [ elsestatements ]]

End If

Cấu trúc Select Case end select

Select Case testexpression [ Case expressionlist-n [ statements-n ]]

[ Case Else [ elsestatements ]]

End Select

Nhãn dán Label, lệnh goto

Nhã: Label

Để đánh dấu vị trí

Viết tắt, ngắn gọn, phía sau phải có dấu hai chấm : (Ví dụ lbExit:)

Goto: Để di chuyển nhanh đến vị trí nhãn dán Label

Exit, End, Call

Exit Do Exit For Exit Function Exit Property Exit Sub

End End Function End If

End Property End Select End Sub End Type End With Call Sub/Function

Bai04_CauTrucDieuKhien.pdf 

Links tham khảo 1: https://docs.microsoft.

com/en-us/office/vba/language/reference/

user-interface-help/ifthenelse-statement Links tham khảo 2: https://docs.microsoft.

com/en-us/office/vba/language/reference/

user-interface-help/select-case-statement

BÀI 5 CẤU TRÚC VÒNG LẶP

Vòng lặp For Next (Hay dùng nhất)

Cấu trúc: For counter = start To end [ Step step ]

[ statements ] [ Exit For ] [ statements ] Next [ counter ]

Links tham khảo: https://docs.microsoft.

com/en-us/office/vba/language/reference/

user-interface-help/fornext-statement

Vòng lặp For each Next (Hay dùng sau For Next)

Cấu trúc: For Each element In group [ statements ]

[ Exit For ] [ statements ] Next [ element ]

Links tham khảo:

interface-help/for-eachnext-statement

Các cấu trúc lặp: Do, While, Loop

Cấu trúc 1: Do [{ While | Until } condition ] [ statements ]

[ Exit Do ] [ statements ] Loop

Cấu trúc 2: Do [ statements ] [ Exit Do ] [ statements ] Loop [{ While | Until } condition ] Cấu trúc 3: While condition [ statements ] Wend

Links tham khảo 01: https://docs.microsoft.com/

interface-help/doloop-statement

Links tham khảo 02: help/whilewend-statement

BÀI 10 LẬP TRÌNH SỰ KIỆN TRONG VBA EXCEL

1 Sự kiện trong Worksheet

Worksheet_SelectionChange

Worksheet_Change Worksheet_Activate Worksheet_Deactivate Worksheet_BeforeDoubleClick Worksheet_BeforeRightClick

2 Sư kiện trong Workbook

Workbook_Open Workbook_Activate Workbook_BeforeClose

BÀI 9 USERFORM CĂN BẢN TRONG VBA

Form Đặt tên Form: frmTenForm

Các sự kiện thường dùng

UserForm_Initialize UserForm_QueryClose

Label

Đặt tên biến; lblTenBien hoặc lbTenBien

Các sự kiện thường dùng Label_Click

Textbox

Đặt tên biến: txtTenBien Các sự kiện thường dùng TextBox_Change

CommandButton

Đặt tên biến: cmdTenBien Các sự kiện thường dùng CommandButton_Click

Listbox Đặt tên biến:lstTenBien

Các sự kiện thường dùng ListBox_Click

Combobox Đặt tên biến: cbbTenBien

Các sự kiện thường dùng

ComboBox_Change ComboBox_Click

OptionButton

Đặt tên biến: optTenBien Các sự kiện thường dùng

Frame

Đặt tên biến: fraTenBien Các sự kiện thường dùng

MultiPage Đặt tên biến:pgTenBien

Các sự kiện thường dùng

TabStrip

Đặt tên biến:tabTenBien Các sự kiện thường dùng

ToggleButton

Đặt tên biến:togTenBien Các sự kiện thường dùng

SpinButton

Đặt tên biến:spiTenBien Các sự kiện thường dùng

ScrollBar

Đặt tên biến:ScrTenBien Các sự kiện thường dùng

Image

Đặt tên biến: imgTenBien Các sự kiện thường dùng

BÀI 8 CẤU TRÚC MẢNG 1D, 2D

Cấu trúc khai báo: Public | Private | Dim | Static Arr([Lower To] Upper) [As type of variables]

Các hàm sử dụng với mảng

Option Base { 0 | 1 }

Đặt trên đầu modul để xác định phần tử mảng bắt đầu từ 0 hoặc 1 (Một số trường hợp thì mảng luôn bắt đầu từ 0, kể cả khi

sử dụng từ khóa này)

Option Compare { Binary | Text | Database }

Kiểu dữ liệu (thường dùng để xđ có phân biệt HOA - THƯỜNG)

UBound(ArrayName[,dimension]) Xác định biên dưới

LBound(ArrayName[,dimension]) Xác định biên trên

Split(expression[,delimiter[,count[,compare]]]) Tách dữ liệu thành mảng 1D

Join(List[,delimiter]) IsArray(variablename) Erase ArrayName ReDim [Preserve] varname(subscripts) [, varname(subscripts)]

Filter(inputstrings,value[,include[,compare]])

Mảng tĩnh Mảng động Range và mảng Links tham khảo: https://docs.microsoft.

com/en-us/office/vba/language/concepts/

getting-started/using-arrays in-excel/bai-10-array

vba-array/

https://www.tutorialspoint.com/vba/vba_

arrays.htm

BÀI 7 KỸ THUẬT VIẾT HÀM, THỦ TỤC, CÁCH TRUYỀN THAM SỐ

CẤU TRÚC

[Public | Private | Static] Sub([ByVal / ByRef | Arguments As type of variables]) .

End Sub [Public | Private | Static] Function([ByVal / ByRef | Arguments As type of variables]) [

As type of variables]

End Function

TRUYỀN THAM SỐ

Byref Nếu không chỉ rõ thì mặc định là: Byref

Tham số có thể nhận giá trị của Sub/Function

Byval

Là kiểu truyền giá trị Tham số được bảo toàn (giữ nguyên - không nhận giá trị khi thoát khỏi Sub/Function)

Mục đích sử dụng

Nếu muốn giữ nguyên giá trị cho tham số thì dùng Byval Nếu muốn tham số nhận giá trị thì dùng Byref

Byref sẽ thực thi nhanh hơn Byval Khi sử dụng Byval sẽ

tự động nhân bản 1 biến tạm trong vùng nhớ, và sử dụng biến tạm này để tính toán Còn khi sử dụng Byref thì không phải sao chép biến tạm nào, dùng chính biến đó để

xử lý

Links tham khảo 1: https://docs.microsoft.

com/en-us/office/vba/language/reference/

user-interface-help/function-statement Links tham khảo 2: https://docs.microsoft.

com/en-us/office/vba/language/reference/

user-interface-help/sub-statement Links tham khảo 3: https://docs.microsoft.

com/en-us/office/vba/language/glossary/

vbe-glossary#by-value

BÀI 6 CÁC NHÓM HÀM TRONG VBA EXCEL & PHƯƠNG PHÁP BẪY LỖI

A HÀM TRONG VBA

1 Nhóm hàm văn bản

3 Nhóm hàm thời gian

6 Nhóm hàm WorksheetFunction (gọi hàm giống excel)

B PHƯƠNG PHÁP BẪY LỖI

Cấu trúc

On Error GoTo Line/Label

On Error Resume Next

On Error GoTo 0

Bỏ qua mọi lỗi: On error resume next Khôi phục trạng thái báo lỗi: On error goto 0 Nếu xảy ra lỗi thì nhảy đến vị trí nào đó có gán

nhãn lable (hoặc dòng Line): On error goto Line

Links tham khảo: https://docs.microsoft.com/en-us/office/

statement

https://www.automateexcel.com/vba/error-handling/

Là kiểu truyền tham chiếu

Chỉ dùng trong API

2 Nhóm hàm kiểm tra thông tin

Function IsArray(VarName) As Boolean Function IsDate(Expression) As Boolean Function IsEmpty(Expression) As Boolean Function IsError(Expression) As Boolean Function IsNull(Expression) As Boolean

Function IsNumeric(Expression) As Boolean Function TypeName(VarName) As String Function VarType(VarName) As VbVarType

Function IsObject(Expression) As Boolean

Function RGB(Red As Integer, Green As Integer, Blue As Integer) As Long

Kiểm tra giá trị đưa vào có

phải là mảng hay không?

Kiểm tra giá trị đưa vào có

phải là ngày tháng hay không?

Kiểm tra giá trị đưa vào có

phải là rỗng hay không?

Kiểm tra giá trị đưa vào có

phải là Lỗi hay không?

Kiểm tra giá trị đưa vào có

phải là Null hay không?

Kiểm tra giá trị đưa vào có

phải là chữ số hay không?

Hàm trả về tên kiểu giá trị

Kiểm tra giá trị đưa vào thuộc

kiểu dữ liệu nào

Kiểm tra giá trị đưa vào có

phải là đối tượng hay không?

Hàm trả về giá trị màu sắc

Function Chr(CharCode As Long) Function ChrW(CharCode As Long) Function Asc(String As String) As Integer Function AscW(String As String) As Integer Function Format(Expression, _

[Format], _ [FirstDayOfWeek As VbDayOfWeek = vbSunday], _

[FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1])

Function InStr([Start], _ [String1], _

[String2], _ [Compare As VbCompareMethod = vbBinaryCompare])

Function InStrRev(StringCheck As String, _ StringMatch As String, _

[Start As Long = -1], _ [Compare As VbCompareMethod = vbBinaryCompare]) As Long

Function LCase(String) Function UCase(String) Function Left(String, Length As Long) Function Right(String, Length As Long)

Function Len(Expression) Function Trim(String) Function Space(Number As Long)

Function Split(Expression As String, _ [Delimiter], _

[Limit As Long = -1], _ [Compare As VbCompareMethod = vbBinaryCompare])

Function Join(SourceArray, [Delimiter]) As String

Function Replace(Expression As String, _ Find As String, _

Replace As String, _ [Start As Long = 1], _ [Count As Long = -1], _ [Compare As VbCompareMethod = vbBinaryCompare]) As String

Function StrComp(String1, _ String2, _

[Compare As VbCompareMethod = vbBinaryCompare])

Function StrConv(String, Conversion As VbStrConv, [LocaleID As Long])

Function String(Number As Long, Character)

Property Date As Variant

Function DateSerial(Year As Integer, Month

As Integer, Day As Integer)

Function DateValue(Date As String)

Function Day(Date) Function Month(Date) Function Year(Date)

Function Weekday(Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday])

Property Now As Variant Property Time As Variant Function Hour(Time) Function Minute(Time) Function Second(Time)

Function TimeSerial(Hour As Integer, Minute

As Integer, Second As Integer)

Function TimeValue(Time As String)

4 Nhóm hàm chuyển đổi giá trị

Function Int(Number) Function Fix(Number) Function Val(String As String) As Double Function CLng(Expression) As Long Function CDbl(Expression) As Double Function CDate(Expression) As Date Function CStr(Numberic) As String

Function Str(Number)

5 Nhóm hàm tương tác người dùng

Function Shell(PathName, [WindowStyle As VbAppWinStyle = vbMinimizedFocus]) As Double

Function MsgBox(Prompt, _ [Buttons As VbMsgBoxStyle = vbOKOnly], _ [Title], _

[HelpFile], _ [Context]) As VbMsgBoxResult

Function InputBox(Prompt, _ [Title], _

[Default], _ [XPos], _ [YPos], _ [HelpFile], _ [Context]) As String Function DoEvents() As Integer Function IIf(Expression, TruePart, FalsePart) Function Choose(Index As Single, ParamArray Choice() As Variant)

Sub Beep() Sub AppActivate(Title, [Wait]) Sub SendKeys(String As String, [Wait])

Ngày đăng: 19/01/2022, 17:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w