Professional Documents
Culture Documents
(Imic Education) Overview-Method-And-Properties
(Imic Education) Overview-Method-And-Properties
Dưới đây là những nội dung của bài học giới thiệu về Method và Properties
trong khóa học VBA Excel. Nội dung chi tiết từng phần như sau:
- Để chọn vùng “A3:B7” của worksheet đang thực hiện ta làm như sau:
Range(“A3:B7”).Select
- Trước khi chọn 1 vùng trong sheet nào đó thì nó phải được kích hoạt (vì nó có
thể sẽ chọn 1 vùng trong sheet đang kích hoạt ngoài ý muốn hoặc lỗi).
- Định nghĩa các mã lệnh sau:
//1. Kích hoạt workbook
Workbooks(“Demo.xls”).Activate
//2. Kích hoạt worksheet
Sheets(“Sheet1”).Activate
//3. Chọn vùng A3:B10
Range(“A3:B10”).Select
//4. Chọn nhiều vùng một lúc
Range(“A3:B10, C5:D12”).Select
2 Làm việc với Copy – Paste – Clear – Delete qua bài toán?
Yêu cầu:
- Chọn vùng A3:F3 định dạng chữ đậm, nghiêng và kích cỡ 14?
- Chọn vùng A4:F14 định dạng chữ nghiêng?
- Chọn vùng A1:F14 sử dụng lệnh copy và dán vào vị trí A20?
- Chọn vùng A20:F26 sử dụng lệnh clear để xóa toàn bộ nội dung cũng
như định dạng này đi?
- Chọn vùng A20:F33 sử dụng lệnh delete để xóa bảng dữ liệu này đi và
di chuyển từ trên xuống dưới?
Mã lệnh VBA:
Sub NghiepVu01()
Range("A3:F3").Select
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Size = 14
End Sub
Sub NghiepVu02()
Range("A4:F14").Select
Selection.Font.Italic = True
End Sub
Sub NghiepVu03()
Range("A1:F14").Copy
Range("A20").PasteSpecial
End Sub
Lệnh Ý nghĩa
Workbooks.Add - Thêm mới 1 workbook.
?Workbooks(1).Name - Tên workbook đầu tiên.
? Workbooks.Count - Đếm số workbook đang mở.
Workbooks(2).Activate - Kích hoạt workbook 2 để làm việc.
Workbooks(“Demo.xlsx”).Activate - Kích hoạt workbook với tên đã
biết.
Lệnh Ý nghĩa
?Cells.Count - Số ô trong 1 sheet
?Rows.Count - Số hàng trong 1 sheet
?Columns.Count - Số cột trong một sheet
- Nhập dữ liệu vào dùng 2 thuộc tính của Range là Value và Formula.
ActiveSheet.Range(“A1:C7”).Value = “=6*10” //Value
ActiveSheet.Range(“A1:C7”).Formula = “=6*10” //Formula
b. Điều khiển worksheet:
Lệnh Ý nghĩa
Worksheets.Add - Thêm mới worksheet.
? worksheets(1).Name - Nhận về tên của worksheet.
Worksheets(3).Select - Chọn worksheet với thứ tự số 3 để làm việc.
Lệnh Ý nghĩa
Range(“A1”).Select - Chọn ô A1.
Range(“A1:B12”).Select - Chọn khối ô từ A1 đến B12.
Range(“A1:A12 , A15:F15” ).Select - Chọn 02 khối ô khác nhau.
Range(“A2,F5,G5”).Select - Chọn các ô riêng lẻ.
Range(“D:D”).Select - Chọn cột D
Range(“8:8”).Select - Chọn hàng số 8
Range(“B:F”).Select - Chọn cột B đến cột F.
Range(“3:8”).Select - Chọn hàng số 3 đến số 8.
Lệnh Ý nghĩa
Cells(3,1).Select hoặc - Chọn ô A3 trong worksheet hiện hành.
Cells(3,”A”).Select
Range(Cells(4,1), Cells(8,1)).Select - Chọn khối ô dựa vào chỉ số ô hiện hành.
- Khối ô được chọn từ A4 đến A8.
Cells.Select hoặc Cells().Select - Chọn tất cả các ô trong worksheet hiện thời.
Lệnh Ý nghĩa
Range(“A1”).Offset(2,4).Select - Bắt đầu từ ô A1.
- Chọn tới ô với Hàng 2, Cột 4.
Range(“B10”).Offset(-3,-1).Select - Bắt đầu từ ô B10.
- Chọn tới ô với Hàng -3, Cột -1.
ActiveCell.Offset(-2,2).Select - Bắt đầu từ ô hiện hành.
- Chọn tới ô với Hàng -2, Cột 2.
Lệnh Ý nghĩa
Rows(6).Select - Chọn Hàng với chỉ số thứ 6.
Rows.Select - Chọn toàn bộ các Hàng.
Columns(2).Select - Chọn Cột với chỉ số thứ 2.
Columns(“B”).Select - Chọn Cột B.
Columns.Select - Chọn toàn bộ các Cột.
Lệnh Ý nghĩa
ActiveCell.End(xlToRight).Select - Chọn ô của cột cuối cùng so với ô hiện thời.
ActiveCell.End(xlToLeft).Select - Chọn ô của cột đầu tiên so với ô hiện thời.
ActiveCell.End(xlUp).Select - Chọn ô của hàng đầu tiên so với ô hiện thời.
ActiveCell.End(xlDown).Select - Chọn ô của hàng cuối cùng so với ô hiện thời.
Chú ý:
- Các Hàng | Cột cần có dữ liệu đầy đủ.
- Sẽ chọn không đúng yêu cầu nếu có Hàng trống | Cột trống dữ liệu.
Lệnh Ý nghĩa
?Selection.Row - Trả về Số thứ tự hàng đầu tiên của khối ô chọn.
? Selection.Column - Trả về Số thứ tự Cột đầu tiên.
? Selection.Rows.Count - Đếm số Hàng trong khối ô được chọn.
? Selection.Columns.Count - Đếm số Cột trong khối ô được chọn.
? Selection.Address - Trả về địa chỉ khối ô được chọn.
? Selection.Cells.Count - Trả về số ô trong khối ô được chọn.
?Range(“B4”).Formula - Trả về công thức trong ô B4.
Lệnh Ý nghĩa
Range("A1").Cut Destination - Di chuyển giá trị từ ô A1 đến ô A12.
:= Range("A12")
Range("A2").Copy Destination - Sao chép dữ liệu từ ô A2 đến vùng dữ liệu từ
:= Range("E2:E6") E2 đến E6.
Range(“A1”).Clear - Xóa toàn bộ thiết lập trong ô A1.
Range(“A1”).ClearContents - Chỉ xóa dữ liệu trong ô A1.
Range(“A1”).ClearFormats - Chỉ xóa định dạng trong ô A1.
Range(“A1”).ClearComments - Chỉ xóa comment trong ô A1.
- Chú ý:
Không thể thực hiện xóa đối với các ô Merge Cell.
Xuất hiện lỗi khi xóa ô đã nhập.
10 | T r a n g - K h ó a h ọ c k i ế n t h ứ c V B A E x c e l – I M I C E d u c a t i o n
- Chỉ xác định được giá trị trong một ô nhưng lại có thể gán giá trị cho nhiều ô
đồng thời.
- Tham khảo mã lệnh sau:
Worksheets(“Sheet1”).Range(“A1:B5”).Value = 100
Worksheets(“Sheet1”).Range(“A1:B5”) = 100
m. Làm việc với thuộc tính HasFormula?
- Trả về True nếu ô được chọn chứa công thức và ngược lại.
- Nếu một vùng có nhiều hơn 1 ô, các ô trong vùng này đều có công thức thì kq là
True.
- Nếu chỉ 1 ô trong vùng có công thức null
- Ví dụ tham khảo về HasFormula:
Sub Demo()
Worksheets(“Sheet1”).Activate
Set obj = Application.InputBox(prompt:=”Chon vung trong Sheets”,
Type:=8)
If obj.HasFormula = True then
MsgBox “Các ô đều chứa công thức!”
End If
End Sub
11 | T r a n g - K h ó a h ọ c k i ế n t h ứ c V B A E x c e l – I M I C E d u c a t i o n
- Ví dụ về Interior: Khi muốn thay đổi màu nền của ô A5 sang màu đỏ (màu đỏ
trong bảng danh sách mã màu với ColorIndex).
- Ví dụ mã lệnh:
Range(“A5”).Interior.ColorIndex = 3
- ColorIndex có giá trị từ 1 đến 56 tương tự với màu trong excel hoặc có thể dùng
hằng số vbBlack, vbBlue,…
Bài toán: Hãy sử dụng toàn bộ những kiến thức đã được học để làm hoàn chỉnh bài
tập sau:
Yêu cầu:
- Định dạng tiêu đề báo cáo như hình trên.
- Định dạng tiêu đề bảng nội dung với Chữ đậm và Màu nền chứa dữ liệu.
- Viết công thức xử lý tính toán cho các trường thông tin sau:
Điền ngày công chuẩn = 25 cho tất cả các nhân viên.
Điền số tiền Thưởng, được tính như sau:
TGĐ, PGĐ : 3.000.000 đ
TP, PL, PM: 1.000.000 đ
TV, Tester, KT: 500.000 đ
GV: 700.000 đ
Dev: 600.000 đ
12 | T r a n g - K h ó a h ọ c k i ế n t h ứ c V B A E x c e l – I M I C E d u c a t i o n
Điền BHXH = 200.000 cho tất cả các nhân viên.
Lương tháng = (Lương thử việc + Lương chính thức)/Ngày
công chuẩn / Ngày công thực tế.
Tổng lương = Lương Tháng + Thưởng + Ăn Ca
Thực lĩnh = Tổng lương – Tạm ứng – BHXH – Công đoàn
- Lấy dữ liệu chi tiết của từng thành viên điền sang bảng tính khác với tên
đầy đủ của thành viên đó.
13 | T r a n g - K h ó a h ọ c k i ế n t h ứ c V B A E x c e l – I M I C E d u c a t i o n