Hướng dẫn excel range to html - phạm vi excel sang html

Trong lập trình VBA Excel, Range là đối tượng thường xuyên được sử dụng nhất. Nhưng cụ thể cách viết đối tượng này ra sao, ứng dụng của đối tượng Range trong VBA như thế nào? Các bạn hãy cùng Học Excel Online tìm hiểu cách viết code với đối tượng Range trong VBA Excel để biết cách làm nhé.

  • Cách viết đối tượng Range trong VBA
  • Một số phương thức, thuộc tính của Range thường sử dụng trong VBA
  • Một số ví dụ minh họa về ứng dụng của Range trong lập trình VBA
  • Lưu ý khi lập trình liên quan tới Range tại các Worksheet, Workbook khác nhau

Cách viết đối tượng Range trong VBA

Một số phương thức, thuộc tính của Range thường sử dụng trong VBA

Một số ví dụ minh họa về ứng dụng của Range trong lập trình VBA

Lưu ý khi lập trình liên quan tới Range tại các Worksheet, Workbook khác nhau

Range được hiểu là 1 ô hoặc 1 vùng ô trong Excel. Trong VBA có 2 dạng biểu diễn đối tượng Range:

Dạng thứ 1: Range cố định địa chỉ [hay đã xác định cụ thể tọa độ]

Khi muốn biểu diễn 1 vùng ô mà bạn đã xác định rõ tọa độ của các dòng, cột trong vùng ô đó thì bạn có thể viết theo các cách sau:

Bạn có thể viết Range chỉ với 1 ô hoặc nhiều ô, trong đó các vùng ô có thể liên tiếp nhau hoặc tách rời nhau.

Bạn có thể viết Range dựa theo ô ở điểm đầu và ô ở điểm cuối [Range dựa vào Cells để viết]

Dạng thứ 2: Range không cố định địa chỉ

Một số phương thức, thuộc tính của Range thường sử dụng trong VBA

Một số ví dụ minh họa về ứng dụng của Range trong lập trình VBA

Một số ví dụ minh họa về ứng dụng của Range trong lập trình VBA

Lưu ý khi lập trình liên quan tới Range tại các Worksheet, Workbook khác nhau

Range được hiểu là 1 ô hoặc 1 vùng ô trong Excel. Trong VBA có 2 dạng biểu diễn đối tượng Range:

[A2:D2].Select

Dạng thứ 1: Range cố định địa chỉ [hay đã xác định cụ thể tọa độ]

Khi muốn biểu diễn 1 vùng ô mà bạn đã xác định rõ tọa độ của các dòng, cột trong vùng ô đó thì bạn có thể viết theo các cách sau:

Bạn có thể viết Range chỉ với 1 ô hoặc nhiều ô, trong đó các vùng ô có thể liên tiếp nhau hoặc tách rời nhau.abc

Bạn có thể viết Range dựa theo ô ở điểm đầu và ô ở điểm cuối [Range dựa vào Cells để viết]

Dạng thứ 2: Range không cố định địa chỉ

Khi bạn chưa xác định rõ được vùng cần làm việc là vùng nào, dòng bao nhiêu, cột bao nhiêu bởi vùng đó có thể thay đổi trong quá trình làm việc thì bạn phải thông qua các biến. Mỗi khi câu lệnh hoạt động thì biến đó sẽ nhận 1 giá trị, Căn cứ vào giá trị đó để xác định vùng ô mà bạn muốn làm việc.

Cách viết như sau:

Khi viết dạng này, thường chỉ xác định cho 1 ô hoặc 1 vùng ô liên tiếp nhau. Chúng ta chỉ dùng 1 cách viết giống như cách viết thứ 1 của dạng Range cố định địa chỉ vì đây là cách dễ viết nhất, thông dụng nhất trong VBA.

Vì Range là đối tượng thường sử dụng trong lập trình VBA nên có rất nhiều phương thức, thuộc tính được sử dụng. Một số cú pháp gọi thuộc tính tiêu biểu là:

Ví dụ thứ 1: Chọn vùng ô A2:D2

Range[“A2:D2”].Select

Ví dụ thứ 2: Gán giá trị vào 1 vùng ô

Range[“A1”].Value = “abc”

Có nghĩa là gán vào ô A1 đoạn text là abc

Range[“A2:A5”].Value = Range[“B2:B5”].Value

Có nghĩa là lấy giá trị vào vùng A2:A5 tương ứng theo giá trị vùng B2:B5

Range[“D5”].Formula = “=COUNTIF[D1:D4,””abc””]”

Có nghĩa là gán vào ô D5 công thức =COUNTIF[D1:D4,”abc”]

Ví dụ thứ 3: Ẩn dòng, cột

Range[“A1:A5”].EntireRow.Hidden = True

Có nghĩa là ẩn từ dòng 1 đến dòng 5

Lưu ý khi lập trình liên quan tới Range tại các Worksheet, Workbook khác nhau

Range được hiểu là 1 ô hoặc 1 vùng ô trong Excel. Trong VBA có 2 dạng biểu diễn đối tượng Range:

  • Dạng thứ 1: Range cố định địa chỉ [hay đã xác định cụ thể tọa độ]

Khi muốn biểu diễn 1 vùng ô mà bạn đã xác định rõ tọa độ của các dòng, cột trong vùng ô đó thì bạn có thể viết theo các cách sau: cũng chính là ActiveWorkbook.ActiveSheet.Range[“A1”].ClearContents

Bạn có thể viết Range chỉ với 1 ô hoặc nhiều ô, trong đó các vùng ô có thể liên tiếp nhau hoặc tách rời nhau.

Bạn có thể viết Range dựa theo ô ở điểm đầu và ô ở điểm cuối [Range dựa vào Cells để viết]

  • Dạng thứ 2: Range không cố định địa chỉ

Khi bạn chưa xác định rõ được vùng cần làm việc là vùng nào, dòng bao nhiêu, cột bao nhiêu bởi vùng đó có thể thay đổi trong quá trình làm việc thì bạn phải thông qua các biến. Mỗi khi câu lệnh hoạt động thì biến đó sẽ nhận 1 giá trị, Căn cứ vào giá trị đó để xác định vùng ô mà bạn muốn làm việc.

Cách viết như sau:

Khi viết dạng này, thường chỉ xác định cho 1 ô hoặc 1 vùng ô liên tiếp nhau. Chúng ta chỉ dùng 1 cách viết giống như cách viết thứ 1 của dạng Range cố định địa chỉ vì đây là cách dễ viết nhất, thông dụng nhất trong VBA.

Vì Range là đối tượng thường sử dụng trong lập trình VBA nên có rất nhiều phương thức, thuộc tính được sử dụng. Một số cú pháp gọi thuộc tính tiêu biểu là:

Ví dụ thứ 1: Chọn vùng ô A2:D2

ThisWorkbook.Worksheets[1].Range[“VungDK”].ClearContents

Xóa dữ liệu trong vùng được đặt tên [Define Name] là VungDK, vùng này nằm trong Sheet có thứ tự là 1 của Workbook nơi đặt lệnh code.

Khi mới học lập trình VBA, chúng ta nên lưu ý viết đầy đủ cả Workbook và Worksheet khi làm việc với đối tượng Range. Trường hợp chỉ có duy nhất 1 Workbook thì nên viết cụ thể tên sheet chứa Range cần làm việc. Điều này sẽ giúp các bạn tránh nhầm lẫn, biết rõ vị trí kết quả, tránh trường hợp chạy câu lệnh bị sai vùng Range sang sheet khác.

Hy vọng qua bài viết này các bạn có thể biết cách viết code với đối tượng Range trong VBA. Đây là một đối tượng rất quan trọng, thường xuyên sử dụng trong VBA. Chúc các bạn áp dụng tốt những kiến thức này vào công việc của mình.

Ngoài ra các bạn có thể xem thêm các bài viết:

Tìm hiểu sự khác nhau giữa các thuộc tính Text Value và Value2 của đối tượng Range trong VBA

Hướng dẫn cách viết thuộc tính OFFSET của đối tượng Range trong VBA Excel

Hướng dẫn cách viết thuộc tính RESIZE của đối tượng Range trong VBA Excel

Hướng dẫn sử dụng vòng lặp For.. Next trong VBA

Hướng dẫn cách sử dụng vòng lặp For Each trong VBA Excel

Bài Viết Liên Quan

Chủ Đề