Gerald lưu ý rằng khi di chuyển chuột qua hình ảnh trên trang tính, con trỏ chuột là một dấu thập. Anh ta muốn biết làm thế nào anh ta có thể xác định, bằng cách sử dụng VBA, tọa độ của chữ thập khi con chuột được nhấp.

Excel không cho phép bạn (ngay cả với VBA) lấy tọa độ của con trỏ chuột trên đồ họa được chèn dưới dạng ảnh thông thường trong trang tính. Nếu bạn chèn hình ảnh bằng đối tượng Hình ảnh trong hộp công cụ Điều khiển, bạn có thêm một chút vĩ độ. Thật vậy, bạn có thể sử dụng trình xử lý sự kiện MouseDown để xác định tọa độ, như được hiển thị ở đây:

Private Sub Image1_MouseDown(ByVal Button As Integer, _   ByVal Shift As Integer, ByVal X As Single, _   ByVal Y As Single)

MsgBox X & ", " & Y End Sub

Mã này giả định rằng hình ảnh được đặt tên là Image1. Mã tương tự có thể được sử dụng để hiển thị tọa độ con trỏ trong thời gian thực trên thanh trạng thái:

Private Sub Image1_MouseMove(ByVal Button As Integer, _   ByVal Shift As Integer, ByVal X As Single, _   ByVal Y As Single)

Application.StatusBar = Round(X, 0) & "," & Round(Y, 0)

End Sub

Một trong hai (hoặc cả hai) trong số các trình xử lý sự kiện này rõ ràng được liên kết với Image1, vì vậy chúng cần được thêm vào cửa sổ mã cho đối tượng đó.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

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

Mẹo này (3421) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.