在一行和 return 列 VBA 中查找日期变量

Find Date variable within a row and return Column VBA

我想在行中查找变量,return 列引用。到目前为止我写的代码是;

Dim VarianceDate As String
VarianceDate = Sheets("Summary").Range("C12").Value


Rows("6").Find(What:=VarianceDate, After:=ActiveCell, LookIn:=xlFormulas _
      , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
      MatchCase:=False, SearchFormat:=False).Activate

TargetCol = ActiveCell.Column

在此示例中,差异日期是 01/06/2015,但是当我进入 VBA 中的代码时,它 return 什么都没有。除了当我手动搜索它时它找到了正确的单元格。

最终我想使用 TargetCol 参考来帮助我将正确的数据提取到另一个工作簿中。

如有任何帮助,我们将不胜感激。

谢谢

需要注意的是搜索词是日期,如果activecell不在你的查找范围内,会因为包含After:=ActiveCell

而报错

试试下面的代码

Sub FindDateCol()

    Dim VarianceDate As String: VarianceDate = Sheets("Summary").Range("C12").Value

    Dim TargetCell As Range, TargetCol As Integer
    Set TargetCell = Rows("6").Find(What:=CDate(VarianceDate), LookIn:=xlFormulas, LookAt:=xlPart)
    If Not TargetCell Is Nothing Then TargetCol = TargetCell.Column

    MsgBox TargetCol

End Sub