Sự khác nhau giữa mã VBA wb.Sheets(1).Cells.Select
và wb.Sheets(1).Activate
là gì?Chọn Excel và kích hoạt
Trả lời
Sự khác biệt giữa lựa chọn là bạn có thể chọn một số đối tượng cùng một lúc. Các đối tượng được chọn cũng được đặt trong đối tượng Selection mà bạn có thể sử dụng các phương thức trên. Trừ khi bạn đang chọn nhiều đối tượng, chọn (nói, một ô) kích hoạt đối tượng.
Kích hoạt chỉ đơn giản là biến đối tượng thành đối tượng đang hoạt động. Cách tốt nhất để nghĩ về nó là "nhiều ô có thể được chọn, nhưng chỉ một ô có thể là ô hiện hoạt tại bất kỳ thời điểm nào."
Lưu ý: Cả hai đều có một điểm chung - chúng hiếm khi cần thiết và chúng thường không làm bất cứ điều gì nhưng làm chậm mã của bạn. Bạn có thể làm việc trực tiếp trên một đối tượng mà không cần chọn hoặc kích hoạt nó và thực hành tốt nhất là không sử dụng chúng trừ khi cần thiết.
Dưới đây là một lời giải thích từ MSDN
Bạn ví dụ đầu tiên wb.Sheets(1).Cells.Select
cho phép bạn chọn nhiều ô
Thứ hai wb.Sheets(1).Activate
làm cho bảng tính hiện hành.
Có rất nhiều tài nguyên ngoài đó để trợ giúp với Excel VBA.
http://www.excel-vba.com/index.htm#Tutorial%20on%20Excel%20Macros
wb.Sheets (1) .Kích hoạt làm cho trang tính * hoạt động: ô hiện hoạt và lựa chọn trên trang tính đó sẽ không thay đổi và thậm chí có thể không có ô hoạt động trên trang tính đó. –
xấu của tôi, tôi nhầm lẫn, tôi đã sửa nó. – Taryn
sẽ chọn đầu tiên tất cả các ô trên bảng đầu tiên của wb workbook. Nó sẽ thất bại nếu trang tính không hoạt động.
Thứ hai chỉ kích hoạt trang tính đầu tiên của sổ làm việc. Nó không làm thay đổi việc lựa chọn hoặc kích hoạt trên trang tính đó, và trong một số trường hợp có thể không có phạm vi hoặc kích hoạt được chọn (ví dụ: nếu có một đối tượng trên trang tính hiện đang được chọn).
"Nó thay đổi lựa chọn" -> "Nó không thay đổi lựa chọn". +1 –
@ J-F: cảm ơn - đã sửa câu trả lời của tôi –
Select
- "Lựa chọn" di động (s)
Activate
- "Kích hoạt" một tờ (loại giống như nói tập trung vào một tờ giấy)
Đôi khi u cần phải đặc biệt ACTIVATE
bảng, theo thứ tự để tạo một số ảnh SELECT
Kích hoạt thường được sử dụng cho Trang tính ví dụ. Trang tính hiện hoạt sẽ được hiển thị trên màn hình ... do đó chỉ có thể có một trang tính hoạt động
Chọn mặc dù có thể được sử dụng cho nhiều ô để lấy ví dụ. Phạm vi (A1: B3) .Chọn sẽ chọn nhiều ô không thể kích hoạt được
Tôi đã tìm thấy câu hỏi này trong khi tìm kiếm, tôi có cùng một câu hỏi. Đây là điều mà tôi nhận thấy:
Sub Transfer(x As Long)
Dim Rng, ID as Range
Dim i, j, n As Long
Worksheets(5).Activate
n = Worksheets(5).Range(Range("I88"), Range("I88").End(xlToRight)).Count
Worksheets(x).Select
Set Rng = Worksheets(3).UsedRange.Find("Element", LookIn:=xlValues).Offset(1, 1)
Set ElemID = Range(ElemRng.Offset(0, -1), ElemRng.Offset(0, -1).End(xlDown))
Set ElemRng = Worksheets(3).Range(ElemRng, ElemRng.End(xlToRight))
End Sub
tôi thấy rằng tôi HAD đặt bảng tính.kích hoạt (hoặc chọn) hoặc mã sẽ chạy vào:
Run-time error: '1004' ứng dụng xác định hoặc đối tượng được xác định lỗi
- 1. iOS chọn onchange không kích hoạt
- 2. Kích hoạt thủ công ô chọn TableView
- 3. NSTimer không kích hoạt bộ chọn
- 4. Android: Đặt kích hoạt bộ chọn gốc khi chọn con
- 5. Chọn giữa Excel Add-In, Template và Workbook?
- 6. jQuery AutoComplete chọn kích hoạt sau khi thay đổi?
- 7. Sự kiện JAVAFX được kích hoạt khi chọn hộp kiểm
- 8. Excel VBA: Lưu thành trình kích hoạt Thay đổi sự kiện trong ComboBox
- 9. Bộ chọn lớp JQuery vẫn kích hoạt sau khi removeClass
- 10. Chọn và kích hoạt sự kiện nhấp của nút radio trong jquery
- 11. mã kích hoạt mới và cũ
- 12. SignalR OnConnected và OnDisconnected không kích hoạt
- 13. Làm cách nào để ngăn Excel kích hoạt Worksheet_Change trước Workbook_BeforeSave?
- 14. trình kích hoạt cấp hàng và trình kích hoạt cấp độ tuyên bố
- 15. Backbone.js - sử dụng trình kích hoạt để kích hoạt sự kiện và truyền dữ liệu
- 16. HTML xác định lựa chọn những gì lựa chọn được kích hoạt
- 17. C# và Excel interop
- 18. Android: Kích hoạt onCreateOptionsMenu
- 19. Kích hoạt nhấp chuột vào hộp chọn không hoạt động trong jQuery
- 20. kiểm soát bộ chọn ngày trội excel
- 21. sử dụng C# để chọn một bảng tính trong excel
- 22. NHibernate và Memcached - nên use_minimal_puts được kích hoạt?
- 23. Trình kích hoạt trình kích hoạt trong Jenkins theo EMAIL
- 24. Kích hoạt trong baseclass không được kích hoạt?
- 25. Lỗi kích hoạt sự kiện tùy chỉnh kích hoạt JQuery
- 26. Nhận giá trị kích hoạt trình kích hoạt Oracle
- 27. Quartz không kích hoạt trình kích hoạt đơn giản
- 28. OpenXML: Chiều rộng cột Kích thước tự động trong Excel
- 29. redis Chọn maxmemory kích thước và cách sử dụng
- 30. UIGestureRecognizer kích hoạt hai lần?
câu trả lời Giàu cho một đơn giản câu hỏi :) – niko