Bài 2: Hiểu - Tinh chỉnh - Sửa thu gọn Macro


Nhưng do macro không cho phép undo. Những gì trên bảng tính excel đã thực hiện bằng câu lệnh VBA rồi thì không thể undo lại được. Không lẻ mỗi lần sửa lại phải thu lại ?Vì vậy em đã Export file để lưu đoạn code đó, sau đó mở file mới và Import vào là OK. Sau đó chỉnh sửa vô tư.

Ý nghĩa câu lệnh With...End With và khi nào nên dùng?

Trong VBA các bạn sẽ thường thấy câu lệnh With...End With xuất hiện khi thao tác thu macro tự động cho công việc định dạng ô bảng tính..
Ví dụ 1:
  1. With Selection.Interior
  2.         .Pattern = xlSolid
  3.         .PatternColorIndex = xlAutomatic
  4.         .Color = 65535
  5.         .TintAndShade = 0
  6.         .PatternTintAndShade = 0
  7. End With
Sao chép mã

Vậy ý nghĩa nó là gì? Khi nào nên dùng?

1. Ý nghĩa câu lệnh with.. End with:
- Nếu các bạn đọc giáo trình VBA các bạn sẽ thấy định nghĩa rất bác học. Nên đôi lúc sẽ khó hiểu và nản.
Mình giải thích cho các bạn theo cách "đời thường" nhất:

* Hãy nghe đoạn văn mô tả về 1 cô người mẫu A:
  1. + Cô người mẫu A có làn da trắng như sữa.
  2. + Cô người mẫu A có hàm răng đều như hạt bắp.
  3. + Cô người mẫu A có chân dài tới nách.
  4. + Cô người mẫu A có giọng nói như chim.
Sao chép mã

....
Ôi như vậy chúng ta cứ thấy đối tượng "Cô người mẫu A"  cứ lặp đi lặp lại vậy nghe nhàm quá. Nên ta viết lại như sau xem sao:
  1. Với đối tượng cô người mẫu A:
  2.     + làn da trắng như sữa
  3.     + hàm răng đều như hạt bắp
  4.     + chân dài tới nách
  5.     + giọng nói như chim
  6. Hết.
Sao chép mã

Ôi thấy gọn gàng hơn nhiều đấy chứ.
===> Câu lệnh With...End With cũng có tác dụng như việc thu gọn ở ví dụ trên đấy.
Bằng cách sử dụng With... End With, bạn có thể thực hiện khai báo một loạt các thuộc tính khác nhau thuộc về cùng một đối tượng quy định mà không cần phải chỉ định tên của đối tượng nhiều lần.
(Làn da, hàm răng, chân dài, giọng nói.... chính là thuộc tính của đối tượng "cô người mẫu A")

* Trở lại ví dụ 1 nói trên:
- Nếu không dùng câu lệnh With...End With thì phải viết như thế này:

  1.         
  2.        Selection.Interior.Pattern = xlSolid
  3.        Selection.Interior.PatternColorIndex = xlAutomatic
  4.        Selection.Interior.Color = 65535
  5.        Selection.Interior.TintAndShade = 0
  6.        Selection.Interior.PatternTintAndShade = 0
Sao chép mã

Nó giống y chang ví dụ "cô người mẫu" vậy đó. Đối tượng "Selection.Interior" cứ lặp đi lặp lại liên tục. ==> Mỗi 1 lần VBA truy xuất nhận thực hiện 1 dòng lệnh thì thêm 1 lần nó phải gọi đối tượng "Selection.Interior" ra. ==> Việc thực thi sẽ mất thời gian dài hơn. Trong khi đó, với câu lệnh With...End With  như ví dụ 1 thì VBa chỉ cần 1 lần duy nhất truy xuất đến đối tượng "Selection.Interior" và gắn cho nó 1 loạt các thuộc tính của đối tượng này.

* Trường hợp khác: nếu chúng ta chỉ cần can thiệp vào 1 thuộc tính của đối tượng như:
  1. With Selection.Interior
  2.          .Color = 65535
  3. End With
Sao chép mã
So với câu lệnh:
  1. Selection.Interior.Color = 65535
Sao chép mã

thì With.. End with trở nên luộm thuộm hơn.
Ví như:
- thay vì viết:  "Cô người mẫu A có làn da trắng như sữa" thì ta lại viết "Với cô người mẫu A - Làn da trắng như sữa - Hết"

Vì vậy:
==> Khi chỉ cần can thiệp chỉ vào duy nhất 1 thuộc tính của đối tượng thì không nên dùng with... End with.
Tóm lại:
1. Bằng cách sử dụng With... End With, bạn có thể thực hiện khai báo một loạt các thuộc tính khác nhau thuộc về cùng một đối tượng quy định mà không cần phải chỉ định tên của đối tượng nhiều lần.
2. Khi chỉ cần can thiệp vào duy nhất 1 thuộc tính của đối tượng thì không nên dùng with... End with

Bài tập

                                                                                                                   Nguồn: xaydung360.vn
Tên

Android,5,Anti virus,7,Bản quyền phần mềm,9,CCNA,3,Dối tác,1,Game Android,2,Game iOS,1,Games,4,Gemini,1,Giai tri,1,Hệ điều hành,4,Hướng dẫn sử dụng AI,1,IOS,1,KCXD,1,Kiến thức,14,Kiến thức Xây dựng,24,Linux,2,Phần mềm,16,Phần mềm xây dựng,9,Phong thủy,3,Revit,3,Software,56,Sống,1,TCVN,3,Thủ thuật,44,Ứng dụng,6,VBA excel,8,Video,4,Web,10,web hay,9,Windown Phone,1,
ltr
item
Lê Ngân: Bài 2: Hiểu - Tinh chỉnh - Sửa thu gọn Macro
Bài 2: Hiểu - Tinh chỉnh - Sửa thu gọn Macro
https://i.ytimg.com/vi/cS1jomG-42o/hqdefault.jpg
https://i.ytimg.com/vi/cS1jomG-42o/default.jpg
Lê Ngân
https://www.lengan.net/2014/04/bai-2-hieu-tinh-chinh-sua-thu-gon-macro.html
https://www.lengan.net/
https://www.lengan.net/
https://www.lengan.net/2014/04/bai-2-hieu-tinh-chinh-sua-thu-gon-macro.html
true
5345002139417399617
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content