:tapta:​
Mình có bảng số liệu chứa ở các dòng từ 3 cho đến 12;
Nhiệm vụ đề ra là fải tìm kiếm dữ liệu ngày tương ứng cho các ô có dấu '?' như hình dưới đây:



/-(àm tự tạo để thực hiện nhiệm vụ hơi fức tạp (do dữ liệu kiểu ngày đã bị trộn ô) này có nội dung như sau:



Mã nguồn PHP:
[COLOR=#000000]
Option Explicit [/COLOR][COLOR=#007700]Function [/COLOR][COLOR=#0000BB]FindIsMergeCells[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Rng [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Tim [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Dim jJ [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Rw [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sRng [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Cls [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range Rw [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Rows[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Count Set sRng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Find[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Tim[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Value[/COLOR][COLOR=#007700], , [/COLOR][COLOR=#0000BB]xlFormulas[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]xlWhole[/COLOR][COLOR=#007700]) If [/COLOR][COLOR=#0000BB]Not sRng Is Nothing Then [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](, -[/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]<> [/COLOR][COLOR=#DD0000]"" [/COLOR][COLOR=#0000BB]Then FindIsMergeCells [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](, -[/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]Else For [/COLOR][COLOR=#0000BB]jJ [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1 To Rw [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](-[/COLOR][COLOR=#0000BB]jJ[/COLOR][COLOR=#007700], -[/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]<> [/COLOR][COLOR=#DD0000]"" [/COLOR][COLOR=#0000BB]Then FindIsMergeCells [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](-[/COLOR][COLOR=#0000BB]jJ[/COLOR][COLOR=#007700], -[/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]Exit Function [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next jJ End [/COLOR][COLOR=#007700]If Else [/COLOR][COLOR=#0000BB]FindIsMergeCells [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"Nothing" [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]Function [/COLOR]