find最新的阅读date和复制深度列到新的工作表

我有一个excel工作簿,其中的数据已被用户导入。 看图片。 在这里输入图像说明

我想find最近的date,并将相应date(最近)的深度值复制到另一个名为“隐藏”的表单中。我的问题是导入的数据集的数量取决于用户导入的数据集数量它是dynamic的。 阅读date所在的单元格也是dynamic的,取决于深度有多less值(不会总是17.5)

这里有一些我一直在使用的代码

Sub Copy_Depth1() Dim i As Integer Dim j As Integer j = 1 i = 1 Do Until j = Sheets("Hidden").Range("B2").Value 'I count how many times data has been imported to this sheet in this cell in this specific case j is 3 With Sheets("Data Importation Sheet") Set Cell2 = .Columns(i).Find(What:="Reading Date:", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlDown, MatchCase:=False, SearchFormat:=False) Set Cell3 = Cell2.Offset(1, 0) Debug.Print Cell3.FormulaR1C1 End With i = i + 7 j = j + 1 Loop End Sub 

任何提示/帮助将不胜感激! 提前致谢!

 Sub Copy_depth_Updated() Dim dataWS As Worksheet, hiddenWS As Worksheet Dim tempDate As String, mostRecentDate As String Dim datesRng As Range, recentCol As Range, headerRng As Range, dateRow As Range, cel As Range Set dataWS = Worksheets("Data Information Sheet") Set hiddenWS = Worksheets("Hidden") Set headerRng = dataWS.Range(dataWS.Cells(1, 1), dataWS.Cells(1, dataWS.Cells(1, Columns.Count).End(xlToLeft).Column)) 'headerRng.Select For Each cel In headerRng If cel.Value = "Depth" Then Set dateRow = cel.EntireColumn.Find(what:="Reading Date:", LookIn:=xlValues, lookat:=xlPart) Set datesRng = dataWS.Cells(dateRow.Row + 1, dateRow.Column) 'datesRng.Select ' Find the most recent date tempDate = Left(datesRng, 10) If tempDate > mostRecentDate Then mostRecentDate = tempDate Set recentCol = datesRng End If End If Next cel Dim copyRng As Range With dataWS Set copyRng = .Range(.Cells(2, recentCol.Column), .Cells(.Cells(2, recentCol.Column).End(xlDown).Row, recentCol.Column)) End With hiddenWS.Range(hiddenWS.Cells(2, 1), hiddenWS.Cells(copyRng.Rows(copyRng.Rows.Count).Row, 1)).Value = copyRng.Value End Sub 

这有点冗长,但应该工作。 它将查找具有“深度”的列,然后查看该列的date。 这应该允许您添加/删除组中的列,使其更加dynamic一点。

让我知道这是否需要调整或任何东西。