T
thanhphong
Guest
Range là gì? Union khác với Range như thế nào?
Chào các bạn. Tôi là Thanh Phong đến từ diễn đàn THVBA. Ở topic này tôi sẽ giới thiệu phương thức union.
Đây là một phương thức tiện lợi mà tôi muốn giới thiệu cho các bạn.
Union có thể hợp thể nhiều Range thành một khối thống nhất, từ đó ta tác động vào khối này, giảm thiểu tối đa các thao tác.
Range là tập hợp nhiều ô trên bảng tính. Có thể là cả một dòng hay nhiều dòng trên bảng tính.
Hay một cột, hoặc nhiều cột trên bảng tính.
Khi chúng ta muốn thao tác với nhiều vùng Range rời rạc trên bảng tính, khi đó ta nghĩ tới Union.
Ví dụ:
Kết quả:
Như vậy thay vì phải đi xử lý từng Range, thông qua Union, chúng ta áp đặt lệnh tô màu chỉ một lần.
Union vẫn có khác biệt so với Range.
Mặc dù Union cũng là để chỉ định một phạm vi nào đó trên bảng tính.
Ta đi vào thực nghiệm sau:
Có báo lỗi xảy ra:
Khi chỉ định Range, thì số lượng ký tự trong dấu đóng mở ngoặc nếu vượt quá 255 ký tự, sẽ xảy ra lỗi.
Do đó khi chúng ta muốn làm việc với nhiều cells, thì Range rất khó sử dụng.
Union cũng có giới hạn nhưng ta có thể chỉ định tới 30 vùng Range trong Union.
Như vậy bên trong Range có thể chỉ định địa chỉ tới 255 ký tự * 30 vùng Range, thì số lượng xử lý của Union được nâng lên đáng kể.
Nếu chúng ta sử dụng khéo léo Range và Union kết hợp với nhau, ta có thể tránh được lỗi.
Khi nào chúng ta nghĩ tới Union?
Tham khảo từ :
Chào các bạn. Tôi là Thanh Phong đến từ diễn đàn THVBA. Ở topic này tôi sẽ giới thiệu phương thức union.
Đây là một phương thức tiện lợi mà tôi muốn giới thiệu cho các bạn.
Union có thể hợp thể nhiều Range thành một khối thống nhất, từ đó ta tác động vào khối này, giảm thiểu tối đa các thao tác.
Range là tập hợp nhiều ô trên bảng tính. Có thể là cả một dòng hay nhiều dòng trên bảng tính.
Hay một cột, hoặc nhiều cột trên bảng tính.
Bạn cần đăng nhập để thấy đính kèm
Khi chúng ta muốn thao tác với nhiều vùng Range rời rạc trên bảng tính, khi đó ta nghĩ tới Union.
Bạn cần đăng nhập để thấy đính kèm
Ví dụ:
Mã:
Sub union_test()
Union(Range("B2:D6"), Range("F10"), Range("B10:C13")).Interior.ColorIndex = 4
End Sub
Bạn cần đăng nhập để thấy đính kèm
Như vậy thay vì phải đi xử lý từng Range, thông qua Union, chúng ta áp đặt lệnh tô màu chỉ một lần.
Union vẫn có khác biệt so với Range.
Mặc dù Union cũng là để chỉ định một phạm vi nào đó trên bảng tính.
Ta đi vào thực nghiệm sau:
Mã:
Sub range_test()
Range("N2:P5,Q9:Q11,O13:P17,I19:K21,H18,G17,F21,D23,C21,B20,A21,A23,B23,A14,G9,F9,F13,G12,E7,A1,B2,C3,C4,A6:C10,E12,G6,F3,E2,D5,J5,J11,I14,G15,H10,I4,H2,M4,M9,L9,K3,K1,L4,L6,J8,H7,I9,B12:E18,G20,K13:L17,N12,N2:P5,Q9:Q11,O13:P17,I19:K21,H18,G17,F21,D23,C21,B20,A21,A23,B23").Interior.ColorIndex = 4
End Sub
Bạn cần đăng nhập để thấy đính kèm
Khi chỉ định Range, thì số lượng ký tự trong dấu đóng mở ngoặc nếu vượt quá 255 ký tự, sẽ xảy ra lỗi.
Do đó khi chúng ta muốn làm việc với nhiều cells, thì Range rất khó sử dụng.
Union cũng có giới hạn nhưng ta có thể chỉ định tới 30 vùng Range trong Union.
Như vậy bên trong Range có thể chỉ định địa chỉ tới 255 ký tự * 30 vùng Range, thì số lượng xử lý của Union được nâng lên đáng kể.
Nếu chúng ta sử dụng khéo léo Range và Union kết hợp với nhau, ta có thể tránh được lỗi.
Khi nào chúng ta nghĩ tới Union?
- Khi thực hiện copy và delete.
- Khi tạo Graph.
- Thay đổi màu của cells, chữ,...
Bạn cần đăng nhập để thấy link
Tham khảo từ :
Bạn cần đăng nhập để thấy link