Sửa và rút gọn Macro

Liên hệ QC

TrungChinhs

Thành viên tích cực
Tham gia
18/2/08
Bài viết
1,475
Được thích
2,469
Nghề nghiệp
Công chức
Bất cứ ai muốn học lập trình VBA trong Excel đều đặt câu hỏi học bắt đầu từ đâu ?
Vì mỗi người có một cách riêng để tiếp cận với VBA nên câu trả lời có thể là khác nhau.
Với tôi thì cũng đã học từ nhiều cách và nhận thấy muốn Học lập trình VBA trong Excel thì nên bắt đầu từ việc học sử dụng (ghi - sửa - chạy) Macro.

Xin lưu ý: đây chỉ là một gợi ý cho bạn nào muốn tự học lập trình VBA trong Excel thử nghiệm để lựa chọn cho mình một xuất phát điểm phù hợp.

Cách ghi và chạy 1 Macro thì trên diễn đàn đã nói nhiều nên không nhắc lại. Ở đây chỉ đề cập đến việc tập sửa và rút gọn câu lệnh trong Macro. Theo tôi đây là một phương pháp hỗ trợ viết code rất hiệu quả trước mắt cũng như sau này, đặc biệt là với những người không biết tiếng Anh). Muốn sửa và rút gọn câu lệnh Macro nhưng không làm thay đổi tác dụng của nó thì ta phải hiểu từng câu lệnh để biết câu nào cần, câu nào có thể bỏ qua, câu nào có thể viết tắt...

Sau đây là một số bài tập cụ thể

Bài 1: Dùng Macro ghi hành động kẻ bảng một vùng ta được các câu lệnh sau:

Mã:
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 10/07/2011 by Microsoft Cop.
'


'
Range("B2:H20").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub


Có thể sửa và rút gọn Macro1 như sau:

Mã:
Sub Macro2()
    Range("B2:H20").Borders.LineStyle = xlContinuous
End Sub

Tại sao lại thế ? các bạn tự nghiên cứu nha.

Các câu trả lời, các câu hỏi, các bài tập ví dụ mới xin các bạn tiếp tục tại đây.
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom