Trong trường hợp bạn muốn sao chép một ô được định dạng cụ thể hoặc các ô có màu từ một cột này sang cột tiếp theo thì bài viết này là dành cho bạn. Trong bài này, chúng ta sẽ học cách sao chép các ô màu bằng mã VBA.

Sau đây là ảnh chụp nhanh dữ liệu mà chúng ta có, tức là cột A chứa dữ liệu với một vài ô màu vàng.

Để trích xuất dữ liệu chỉ được đánh dấu bằng màu vàng; chúng ta cần tạo một UDF để hiển thị các ô màu chỉ trong cột B

img1

  • Để tạo Hàm do người dùng xác định, chúng ta sẽ làm theo các bước sau:

Nhấp vào tab Nhà phát triển Từ nhóm Mã, chọn Visual Basic

img2

  • Chúng tôi được yêu cầu sao chép mã dưới đây trong mô-đun chuẩn

Hàm IsYellow (ByRef r As Range)

Nếu r.Interior.ColorIndex = 6 Thì

IsYellow = r.Value

Khác

IsYellow = vbNullString

Kết thúc Nếu

Chức năng kết thúc

img3

===

Trong ô B1, công thức sẽ là * = IsYellow (A1)

img4

Đoạn mã trên phù hợp cụ thể với màu # 6, chỉ dành cho màu Vàng. Do đó, udf sẽ chỉ trích xuất các giá trị chứa màu # 6.

Trong trường hợp chúng ta muốn trích xuất các ô màu đỏ thì chúng ta cần kiểm tra số màu được chỉ định và chỉ cần thay thế bằng số màu vàng.

Bằng cách này, chúng ta có thể lấy các ô màu chữ vàng bằng mã vba.

image 4