Giúp tạo Msgbox hiển thị ô đầu tiên và ô cuối cùng của nhóm ô có hình dạng ngẫu nhiên để chạy Conditional Formatting

Liên hệ QC

hktanh

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/8/19
Bài viết
112
Được thích
8
Giới tính
Nam
Chào các bạn. Mình đang có một vấn đề về việc tô màu ô theo điều kiện Condition Formatting, đó là vùng mà mình muốn áp dụng Conditional Formatting là một vùng ghép của nhiều mảng rời rạc, chẳng hạn như trong file thì mình chọn vùng áp dụng condition là B3 , E1:J11 với điều kiện là ô nào khác rỗng sẽ được tô màu, thì khi đó hàm điều kiện của mình phải mà =B1<>"" trong đó B là cột ngoài cùng của vùng chọn và 1 là dòng trên cùng của vùng chọn. Tuy nhiên đối với những vùng phức tạp hơn hoặc thậm chí có ô bị ẩn, hoặc ghép của nhiều vùng lớn nhỏ với nhau thì mình rất khó xác định được ô đầu tiên trong điều kiện conditional formatting là gì. Tương tự với ô cuối cùng của nhóm. Vậy mình muốn nhờ các bạn tạo giúp macro Msgbox hiển thị ô đầu tiên và ô cuối cùng của nhóm Conditional Formatting sao cho nó có thể được tích hợp vào cái nút trên thanh Ribbon mà mình đã để ở trong file để dùng cho tiện đối với tất cả các sheet, tức là macro này dùng chung được cho tất cả các sheet. Mình cảm ơn
Cấu trúc của Msgbox mình mong muốn: Ví dụ vùng chọn của mình là B3 , E1:J11 , L6 thì kết quả hiển thị của Msgbox sẽ là
Ô đầu tiên: B1
Ô cuối cùng: L11
 

File đính kèm

  • Cần tạo msgbox cho ô đầu tiên và ô cuối cùng của nhóm Conditional Formatting.xlsm
    11.2 KB · Đọc: 7
1 cách
Mã:
Sub GPE()
Dim rRng As Range, rArea As Range, i As Long
Set rRng = Selection.Areas(1)
For i = 2 To Selection.Areas.Count
    Set rRng = Range(rRng, Selection.Areas(i))
Next
MsgBox "O dau tien: " & rRng.Cells(1).Address & vbNewLine & _
       "O cuoi cung: " & rRng.Cells(rRng.Cells.Count).Address
End Sub
 
Upvote 0
1 cách
Mã:
Sub GPE()
Dim rRng As Range, rArea As Range, i As Long
Set rRng = Selection.Areas(1)
For i = 2 To Selection.Areas.Count
    Set rRng = Range(rRng, Selection.Areas(i))
Next
MsgBox "O dau tien: " & rRng.Cells(1).Address & vbNewLine & _
       "O cuoi cung: " & rRng.Cells(rRng.Cells.Count).Address
End Sub
Cảm ơn bạn nhiều nhé, bạn cho mình xin code trả về địa chỉ tương đối kiểu A1 ; B1 ; C2 v..v nhé, mình muốn theo dõi được thông qua hai cách là tương đối và tuyệt đối :victory:
 
Upvote 0
Web KT
Back
Top Bottom