Làm cách nào tôi có thể nhận được một dải ô được chọn qua đầu vào chuột của người dùng để xử lý thêm bằng VBA?Lấy Phạm vi đã Chọn của Người dùng
Trả lời
Bạn có thể lặp qua đối tượng Chọn để xem những gì đã được chọn. Dưới đây là một đoạn mã từ Microsoft (http://msdn.microsoft.com/en-us/library/aa203726(office.11).aspx):
Sub Count_Selection()
Dim cell As Object
Dim count As Integer
count = 0
For Each cell In Selection
count = count + 1
Next cell
MsgBox count & " item(s) selected"
End Sub
Thankyou. Đó là những gì tôi cần – Talguy
Không nên lựa chọn.Count đủ? Tôi nghĩ thuộc tính Count có sẵn trên đối tượng Selection. Lặp qua toàn bộ vùng chọn có vẻ như là một chi phí. –
Anh ta vừa đăng một exampel về cách sử dụng đối tượng lựa chọn. Tôi sử dụng thuộc tính đếm trong mã của tôi – Talguy
Selection
là đối tượng riêng của mình trong VBA. Nó hoạt động giống như một đối tượng Range
.
Lựa chọn và phạm vi không chia sẻ tất cả các thuộc tính và phương pháp giống nhau, do đó, để dễ sử dụng, bạn chỉ cần tạo một phạm vi và đặt bằng với lựa chọn, sau đó bạn có thể xử lý nó theo cách lập trình phạm vi khác.
Dim myRange as Range
Set myRange = Selection
Để đọc thêm, hãy xem MSDN article.
Trong khi lựa chọn là loại Phạm vi, những gì đạo cụ và phương pháp là nó mất tích? Tôi luôn luôn đúc nó thẳng đến loại dù sao nhưng chỉ quan tâm. –
Điều này tùy thuộc vào ý bạn bằng cách "nhận phạm vi lựa chọn". Nếu bạn muốn nhập dải địa chỉ vào địa chỉ (như "A1: B1") thì sử dụng thuộc tính Address của đối tượng Selection - như Michael đã nói đối tượng Selection giống như đối tượng Range, vì vậy hầu hết các thuộc tính và phương thức đều hoạt động trên nó.
Sub test()
Dim myString As String
myString = Selection.Address
End Sub
- 1. Phạm vi người dùng vs Phạm vi ứng dụng trong app.config
- 2. MVC3 + Cách lấy tên người dùng hiện tại đã đăng nhập của người dùng
- 3. Phạm vi đường ray tìm với người dùng hiện tại
- 4. Chức năng xác định người dùng SQL Trong phạm vi lựa chọn
- 5. Rails ActiveRecord Phạm vi đó là "đối diện" của một phạm vi khác hoặc người dùng "thiếu" một thuộc tính
- 6. Lấy mục đã chọn
- 7. Lấy giá trị của nút radio đã được chọn trước khi người dùng chọn một nút mới
- 8. MySQL chọn của người dùng
- 9. mySQL chọn trong phạm vi
- 10. Công cụ chọn phạm vi ngày tương tự như công cụ chọn phạm vi ngày của Google Analytics?
- 11. Sử dụng ListBox trong phạm vi lấy nét
- 12. lấy chỉ mục cột của một phạm vi
- 13. Lựa chọn Postgresql giữa phạm vi tháng
- 14. Visual Studio không vi phạm các ngoại lệ do người dùng vô hiệu
- 15. WebSecurity.CreateUserAndAccount lấy tham chiếu đến người dùng đã tạo
- 16. Cách lấy kích thước của một phạm vi trong Excel
- 17. Phạm vi của typedefs
- 18. Tiêm các biến vào phạm vi của người gọi?
- 19. Dấu thời gian của MySQL chọn phạm vi ngày
- 20. Phạm vi của XACT_ABORT
- 21. html - phạm vi lựa chọn - nhận phạm vi + nút bắt đầu + nút kết thúc + khoảng cách
- 22. Hệ thống cấu hình hiện tại không hỗ trợ cài đặt có phạm vi người dùng
- 23. Cập nhật giao diện người dùng khi đối tượng phạm vi thay đổi giá trị nội bộ thành phạm vi của bộ điều khiển
- 24. Phạm vi của phiên HTTP là gì?
- 25. Lấy ngôn ngữ của người dùng trong android
- 26. Lấy Người dùng Nhập để tạo Người dùng ở Django
- 27. addEventListener và phạm vi của
- 28. Giao diện người dùng JQuery Kéo/Droppable với nhiều phạm vi?
- 29. Nhận id người dùng đã đăng nhập
- 30. Phạm vi deque của Python?
Ghi macro, thực hiện tác vụ, dừng macro và sau đó xem mã được tạo. – Sarfraz
Đã cố gắng nhưng điều đó tạo ra một phạm vi được xác định trước. Tôi muốn có một phạm vi sẽ thay đổi mỗi lần. – Talguy
Đó là vì bạn đã "Sử dụng tham chiếu tương đối" bị vô hiệu hóa (trong tab Nhà phát triển trong nhóm Mã). Như câu trả lời dưới đây đề cập đến, đó là đối tượng Selection (là một cá thể Range) sẽ được ghi lại. –