2011-08-24 30 views

Trả lời

35

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.

+1

+1 cho "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 đã định nào." –

+0

@Issun +1 Câu trả lời hay nhất – niko

+1

+1 cho ghi chú cuối cùng. – Zenadix

8

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

http://www.excel-vba-easy.com/

http://www.functionx.com/vbaexcel/

+0

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 đó. –

+0

xấu của tôi, tôi nhầm lẫn, tôi đã sửa nó. – Taryn

6

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).

+0

"Nó thay đổi lựa chọn" -> "Nó không thay đổi lựa chọn". +1 –

+0

@ J-F: cảm ơn - đã sửa câu trả lời của tôi –

1

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

0

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

1

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


Các vấn đề liên quan