[Nhờ giúp đỡ] Viết hàm trả về địa chỉ các ô được định dạng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia
7/10/13
Bài viết
1,062
Được thích
334
nội dung và kết quả mong muốn em có nêu trong file đính kèm
 

File đính kèm

nội dung và kết quả mong muốn em có nêu trong file đính kèm
em có xem và biết được Fint (Ctrl + F) có thể tìm được những ô có định dạng theo yêu cầu
nhưng khi ghi macro rồi chạy lại thì nó lại ra sai
Mã:
Sub Macro1()
'
' Macro1 Macro
'


'
    With Application.FindFormat
        .WrapText = False
        .ShrinkToFit = False
        .MergeCells = True
    End With
    Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=True).Activate
    Cells.FindNext(After:=ActiveCell).Activate
    Cells.FindNext(After:=ActiveCell).Activate
    Cells.FindNext(After:=ActiveCell).Activate
End Sub
chỉ tìm được 1 lần rồi mấy lần sau toàn chạy tới 1 ô tiếp theo không chứ không tìm được nữa.
---------------------
em nhớ là có thấy 1 đề tài là xác định 1 vùng có nằm trong (thuộc) 1 vùng khác hay không, nhưng giờ tìm lại không biết ở đâu mà tìm. bác nào biết cho em xin link.
 
Upvote 0
em có xem và biết được Fint (Ctrl + F) có thể tìm được những ô có định dạng theo yêu cầu
nhưng khi ghi macro rồi chạy lại thì nó lại ra sai
Mã:
Sub Macro1()
'
' Macro1 Macro
'


'
    With Application.FindFormat
        .WrapText = False
        .ShrinkToFit = False
        .MergeCells = True
    End With
    Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=True).Activate
    Cells.FindNext(After:=ActiveCell).Activate
    Cells.FindNext(After:=ActiveCell).Activate
    Cells.FindNext(After:=ActiveCell).Activate
End Sub
chỉ tìm được 1 lần rồi mấy lần sau toàn chạy tới 1 ô tiếp theo không chứ không tìm được nữa.
---------------------
em nhớ là có thấy 1 đề tài là xác định 1 vùng có nằm trong (thuộc) 1 vùng khác hay không, nhưng giờ tìm lại không biết ở đâu mà tìm. bác nào biết cho em xin link.
Bạn cứ For Next bình thường đi cho khỏe
 
Upvote 0
em đã tìm ra hướng
chỉ 1 trường hợp, chia sẻ cho bạn nào cần rồi phát triển thêm
* lấy địa chỉ các ô được gộp
Mã:
Sub Macro1()
Dim Dic1 As Object
Dim Rn As Range, i As Long
Set Dic1 = CreateObject("Scripting.Dictionary")
    With Worksheets(1).Range("A1:Z100")
        Application.FindFormat.MergeCells = True
        Set Rn = .Find("", SearchFormat:=True)
        If Not Rn Is Nothing Then
            Do
                If Not Dic1.exists(Rn.MergeArea.Address(0, 0)) Then
                    i = i + 1
                    Dic1.Add Rn.MergeArea.Address(0, 0), i
                End If
                Debug.Print Rn.MergeArea.Address(0, 0)
                Set Rn = .Find("", After:=Rn, SearchFormat:=True)
            Loop While Rn.MergeCells = True And Not Dic1.exists(Rn.MergeArea.Address(0, 0))
        End If
    End With
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom