我希望在一行中找到一个变量并返回列引用。我到目前为止编写的代码是;
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
在此示例中,方差日期是2015年6月1日,但是当我在VBA中输入代码时,它什么都不返回。除非我手动搜索它时找到正确的单元格。
最终我想使用TargetCol参考来帮助我将正确的数据提取到另一个工作簿中。
任何帮助都会很有用。
谢谢
答案 0 :(得分:0)
你需要提一下搜索词是一个日期,如果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