按date和时间检索值的最新状态
在我的Excel表格“进度状态”中,我有2列,第一列包含在我的循环中包含的所有testing用例的列表,在第二列中,我想从另一个表格获取testing用例的最新状态命名为“所有运行的testing案例”。
我尝试使用一些excel函数来获取最新的date和时间,以便我可以获得testing用例的最新状态,但是我没有成功,因为我对他们没有深入的了解,有人可以帮助我。 图片显示了我的两张表。
好的,这是答案。 请确保executionDate和executionTime列分别处于date和时间格式。 使用以下函数创build一个新列作为FinalTime
=B3+C3
。 把这个用于rest。
然后你可以使用下面的macros。 如果单击OLEDB connection
您可能需要检查VBA屏幕中的Tools > preferences
。
我假设你的工作表名称为TestCases
和ProgressStatus
。 Test case name
标题被更改为Test
。 你可以在你的工作表或macros中改变它们。
Sub makro() Dim deneme As String Dim queryStr As String Dim con As Object, rs As Object, sorgu$, a$ Set con = CreateObject("adodb.connection") Set rs = CreateObject("adodb.recordset") con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _ ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes""" queryStr = "Select u.[Test]" & _ ",u.[Status] " & _ "From [TestCases$] As u " & _ "Inner Join ( " & _ "Select [Test] " & _ ",max(FinalTime) as [LastDate] " & _ "From [TestCases$] " & _ "Group By [Test]) As [q] " & _ "On u.Test = q.Test " & _ " And u.FinalTime = q.LastDate" Set rs = con.Execute(queryStr) Sheets("ProgressStatus").Range("A2").CopyFromRecordset rs Set rs = Nothing Set con = Nothing End Sub
这里是TestCases和ProgressStatus – 我使用的结果表单。