在一行和 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
我想在行中查找变量,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