VBA - 如果包含特定日期,请查找单元格

VBA - Find cell if contains specific date

提问人:Taher Alaa 提问时间:10/6/2023 更新时间:10/6/2023 访问量:39

问:

我正在尝试根据从另一个工作表中获取的日期查找并选择特定单元格,在此示例中,日期位于第一行。

enter image description here

我尝试了以下代码,但每次都不返回任何内容:

Sub Costing()

Dim TargetDate as String,

TargetDate = "06-Oct"

Set x = Sheets("Raw Materials Costs").Range("A1:AK1").Find(TargetDate, after:=Range("A1"), LookIn:=xlValues)
Cells(3, x.Column).Select

End Sub

感谢您的帮助,谢谢。

Excel VBA macOS 日期 查找

评论

0赞 ti7 10/6/2023
这些值是存储为日期还是字符串?
0赞 Taher Alaa 10/6/2023
它们是日期,C1 是实际日期,然后下一个单元格是 (=cell+1)。

答:

1赞 CDP1802 10/6/2023 #1
Option Explicit

Sub Costing()

    Dim TargetDate As String, x, ar
    
    TargetDate = "06-Oct"
    
    With Sheets("Raw Materials Costs")
        ar = .Range("A1:AK1").Value2
        x = Application.Match(CDbl(CDate(TargetDate)), ar, 0)
        
        If Not IsError(x) Then
            .Cells(3, x).Select
        Else
            MsgBox TargetDate & " not found", vbCritical
        End If
    End With

End Sub

评论

0赞 Taher Alaa 10/7/2023
感谢您的回答,我只想知道“ar”是什么意思。
0赞 CDP1802 10/7/2023
@TaherAlaa 是我为日期值数组选择的名称。如果有帮助,你可以。arDim ar as Variant