我想问一种方法,将3个单元格的值作为输入,然后将它们组合成一个日期,以便与我的代码一起使用。
无法使用的代码在这里:
ph2bdate = DateValue(.Range("K6").Value, .Range("K5").Value, .Range("K4").Value) + 1
ph2blastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
For ph2bsteps = 8 To ph2blastrow Step 1
If Year(.Cells(ph2bsteps, 1).Value) = Year(ph2bdate) _
And Month(.Cells(ph2bsteps, 1).Value) = Month(ph2bdate) _
And Day(.Cells(ph2bsteps, 1).Value) = Day(ph2bdate) Then
ph2brangeupper = ph2bsteps
Exit For
End If
提前致谢!
答案 0 :(得分:0)
MeThinks认为Siddharth Rout的变化是正确的,因为我们不需要在FOR循环内右侧使用年/月/日。但是我们也不需要在左侧使用Year / ...也不需要返回Range - 我们可以比较两个日期 -
ph2bdate = DateSerial(.Range("K6").Value, .Range("K5").Value, .Range("K4").Value) + 1
ph2blastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
For ph2bsteps = 8 To ph2blastrow Step 1
If .Cells(ph2bsteps, 1).Value = ph2bdate
ph2brangeupper = ph2bsteps
Exit For
End If
Next ph2bsteps
我们总是在某一行中有一个+1日期,或者我们是否需要比较> =