Ron thường sử dụng Shapes (thực tế là hình bầu dục) để tô sáng những thứ trong trang tính. Anh ta thêm và kích thước hình dạng, sau đó anh ta cần thay đổi màu hình dạng thành màu đỏ và xóa bất kỳ màu tô nào để nó không che khuất những gì anh ta thực sự đang cố gắng làm nổi bật. Anh ấy thực hiện các bước này khá thường xuyên và chắc chắn điều này có thể được tăng tốc bằng cách nào đó bằng macro, nhưng anh ấy không chắc chắn về cách thực hiện nó.

Trước khi xem xét các giải pháp dựa trên macro, bạn có thể muốn xem xét một số giải pháp không yêu cầu macro. Ví dụ: nếu bạn tạo hình bầu dục (được định dạng như mong muốn) và sau đó nhấp chuột phải vào nó, bạn có thể đặt nó làm hình dạng mặc định của mình. Điều này có thể tăng tốc độ bổ sung hình dạng vào sổ làm việc của bạn trong tương lai.

Nếu bạn có nhiều hình dạng, mỗi hình có kích thước và màu sắc khác nhau, bạn có thể chỉ cần sao chép các hình dạng đó vào một sổ làm việc khác. Sổ làm việc đó có thể là “người giữ” các hình dạng đó, để bạn có thể sao chép chúng trở lại các sổ làm việc khác, nếu cần. Đây là một cách tuyệt vời để xây dựng bộ sưu tập của riêng bạn với các hình dạng tiêu chuẩn có thể được sử dụng trong nhiều năm.

Nếu bạn quyết định rằng macro là cách tốt nhất để sử dụng, thì việc sử dụng macro để thêm hình bầu dục là tương đối dễ dàng. Đây là một cái rất đơn giản:

Sub Custom_Oval1()

ActiveSheet.Shapes.AddShape(msoShapeOval, 150, 150, _       120, 60).Select     Selection.ShapeRange.Fill.Visible = msoFalse     With Selection.ShapeRange.Line         .DashStyle = msoLineSolid         .Weight = 3         .Visible = msoTrue         .ForeColor.RGB = RGB(255, 0, 0)

.Transparency = 0     End With End Sub

Thao tác này sẽ chèn một hình bầu dục tiêu chuẩn, với màu sắc, màu tô và độ trong suốt mong muốn, tại một vị trí duy nhất trong trang tính. Khi hoàn tất, hình dạng vẫn được chọn và sau đó bạn có thể kéo hình bầu dục đến nơi bạn muốn và thực hiện bất kỳ điều chỉnh nào về kích thước có thể cần thiết.

Nếu bạn muốn có hình bầu dục gần với nơi bạn muốn hơn, bạn có thể sử dụng một biến thể nhìn vào ô hiện hoạt trong trang tính và đặt hình bầu dục xung quanh ô đó, có kích thước bằng chiều cao và chiều rộng của ô:

Sub Custom_Oval2()

Dim lLeft As Long     Dim lTop As Long     Dim lWidth As Long     Dim lHeight As Long

lLeft = ActiveCell.Left - 5     lWidth = ActiveCell.Width + 5     lTop = ActiveCell.Top     lHeight = ActiveCell.Height + 5

ActiveSheet.Shapes.AddShape(msoShapeOval, lLeft, _       lTop, lWidth, lHeight).Select     Selection.ShapeRange.Fill.Visible = msoFalse     With Selection.ShapeRange.Line         .DashStyle = msoLineSolid         .Weight = 3         .Visible = msoTrue         .ForeColor.RGB = RGB(255, 0, 0)

.Transparency = 0     End With End Sub

Lưu ý rằng biến thể này của macro xác định vị trí cho hình dạng dựa trên vị trí của đối tượng ActiveCell. Nếu muốn, bạn có thể thay đổi tất cả các lần xuất hiện của ActiveCell thành Selection, điều này sẽ cho phép kích thước của hình bầu dục điều chỉnh để bao quanh lựa chọn của bạn thay vì chỉ đơn giản là ô đang hoạt động. Cũng lưu ý rằng các giá trị bên trái, chiều rộng và chiều cao được điều chỉnh một chút để hình bầu dục vừa vặn hơn. Bạn có thể muốn thử với các giá trị điều chỉnh khác nhau để có được giao diện như ý muốn.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (4631) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.