Excel VBA thay đổi màu ô khi nhấp đúp

Để thay đổi màu nền của ô bằng VBA, bạn có thể sử dụng Nội thất. Thuộc tính chỉ số màu. Dưới đây là một số cách để thay đổi màu nền của ô A1

Một ví dụ sử dụng phương thức Range()

Range("A1").Interior.ColorIndex = 5

Một ví dụ sử dụng phương thức Cells()

Cells(1, 1).Interior.ColorIndex = 15

Cần một cách dễ dàng để xác định số nào bằng màu gì?

IgnBan

19-03-2008, 10. 08 giờ sáng

Làm cách nào để thay đổi định dạng ô (màu) và cạnh ô (ngày) trong một ô cột?
Tôi có 5 cột và tôi cần thay đổi màu trong 4 cột đầu tiên .
Tôi có sheet1 mà tôi muốn nhấp hoặc nhấp đúp vào một ô và thay đổi màu của ô, các ô ban đầu là ?No Fill?, nhưng tôi muốn xác định trước một màu khi tôi nhấp . Tôi cần chức năng bật và tắt tính năng này. Cột E thứ 5 để in ngày hiện tại của ngày hôm nay trong bất kỳ ô nào trong cột này khi được nhấp (hoặc nhấp đúp)?
Về tô màu ô mà tôi đang làm việc với mã này;

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
khi nhấp đúp lần nữa.



Nếu mục tiêu. Nội địa. ColorIndex = xlNone Sau đó


Mục tiêu. Nội địa. ColorIndex = 3

ElseIf Target. Nội địa. ColorIndex = 3 Thì


Mục tiêu. Nội địa. ColorIndex = xlNone

End If

Cancel = True

End Sub


Bây giờ là gì . ngón cái
Any Help is in advance appreciated :thumb

Việc đặt màu vào ô luôn hữu ích để tôi có thể nhanh chóng phân biệt, ví dụ, dự án nào quan trọng hơn các dự án khác. Giải pháp này tốt hơn tùy chọn “định dạng có điều kiện” vì tôi phải quyết định. Mặt khác, nếu dự án được phân loại, chẳng hạn, loại A, loại B, v.v. , tốt hơn là sử dụng "định dạng có điều kiện"

Excel VBA thay đổi màu ô khi nhấp đúp
Excel VBA thay đổi màu ô khi nhấp đúp

Khi tôi sử dụng macro?

Để làm nổi bật các ô quan trọng. Nếu bạn thích sử dụng “định dạng có điều kiện”, hãy đọc Tô sáng một ô bằng màu với tùy chọn định dạng có điều kiện có hoặc không có công thức trong báo cáo excel

Làm cách nào để tạo macro?

Đọc Cách tạo, chỉnh sửa, ẩn và chọn macro trong báo cáo excel

Làm cách nào để tạo nút để liên kết nó với macro?

Đọc Cách tạo nút và liên kết nút với macro trong báo cáo excel

Làm thế nào để sử dụng macro?

Không có cách nào để sử dụng tên tùy chỉnh, nó phải là “Worksheet_ BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)” và bắt buộc phải đặt nó bên trong trang tính mà bạn muốn thực hiện

Excel VBA thay đổi màu ô khi nhấp đúp

Vĩ mô như thế nào?

Sao chép mã bên dưới và dán vào macro của bạn. Bạn sẽ thấy nhận xét của tôi có màu xanh lá cây nếu tồn tại, vì vậy hãy làm theo trợ giúp để điều chỉnh theo nhu cầu của bạn

Đây là một cách tương đối đơn giản để tô màu một ô trong Excel bằng cách nhấp đúp thay vì tùy chọn tô màu trên thanh công cụ. Thủ thuật là sử dụng một số mã VBA để tô màu ô khi nhấp đúp rồi xóa ô đó nếu nhấp đúp lần nữa. Có nhiều cách sử dụng khác nhau cho những thứ như thế này; . xls (xem Kỹ thuật tạo động lực bí mật của Seinfeld) cho phép người dùng theo dõi tiến trình của họ bằng cách đánh dấu mỗi ngày họ làm việc hướng tới mục tiêu

Một biến thể của mã được sử dụng trong DontBreakTheChain. bảng tính xls được hiển thị bên dưới. Tất cả những gì bạn phải làm là nhấp chuột phải vào trang tính bạn chọn và chọn “Xem mã”, sau đó sao chép và dán mã vào mô-đun lớp của trang tính và thế là xong. Nghe có vẻ phức tạp? . Gợi ý-Gợi ý, bạn có thể sử dụng một kỹ thuật tương tự để tô màu ô bằng cách nhấp chuột phải hoặc tùy thuộc vào màu ô hiện tại. Muốn biết cách thì xem video. 😉

Excel không thực sự có một sự kiện khi một ô được bấm. Nó có một sự kiện xảy ra khi lựa chọn thay đổi. Nếu bạn chọn một ô bằng cách nhấp vào ô đó hoặc sử dụng bàn phím để di chuyển đến ô đó, sự kiện sẽ xảy ra. Nhưng nếu bạn bấm lại vào cùng một ô, không có sự kiện nào xảy ra vì vùng chọn không thay đổi

Có thể tốt hơn nếu sử dụng nhấp đúp

Nhấp chuột phải vào tab trang tính

Chọn 'Xem mã' từ menu ngữ cảnh

Sao chép đoạn mã sau vào mô-đun trang tính

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Const TheCells = "A2:A5,C2:C5"
    If Not Intersect(Range(TheCells), Target) Is Nothing Then
        If Target.Interior.Color = vbRed Then
            Target.Interior.Color = vbGreen
        Else
            Target.Interior.Color = vbRed
        End If
        Cancel = True
    End If
End Sub

Thay đổi giá trị của hằng số TheCells thành danh sách các ô bạn muốn chuyển đổi

Chuyển về Excel

Lưu sổ làm việc dưới dạng sổ làm việc hỗ trợ macro

Đảm bảo rằng bạn cho phép macro khi mở nó