使用VBA从Excel表格中查找行
在Excel中,我使用表格将动态数据存储在单独的工作表中。输入新数据就像一种魅力,然而,我希望能够从该表中动态检索一行并将其数据存储在变量中。我更愿意构建一个函数,这样我就可以执行以下操作:使用VBA从Excel表格中查找行,vba,excel,excel-2007,Vba,Excel,Excel 2007,在Excel中,我使用表格将动态数据存储在单独的工作表中。输入新数据就像一种魅力,然而,我希望能够从该表中动态检索一行并将其数据存储在变量中。我更愿意构建一个函数,这样我就可以执行以下操作: findFromCatsByDate(searchterm) 'returns a single row if found with mathing date. 请注意,表格是动态的,不是固定范围(因此它会垂直变化)。我想在其他表上稍加修改就重用这个函数。我需要一个例子如何在VBA中实现这一点 谢谢,这将
findFromCatsByDate(searchterm) 'returns a single row if found with mathing date.
请注意,表格是动态的,不是固定范围(因此它会垂直变化)。我想在其他表上稍加修改就重用这个函数。我需要一个例子如何在VBA中实现这一点
谢谢,这将返回与指定表中的
键匹配的行的引用
Function GetRow(TableName As String, ColumnNum As Long, Key As Variant) As Range
On Error Resume Next
Set GetRow = Range(TableName) _
.Rows(WorksheetFunction.Match(Key, Range(TableName).Columns(ColumnNum), 0))
If Err.Number <> 0 Then
Err.Clear
Set GetRow = Nothing
End If
End Function
Sub zx()
Dim r As Range
Set r = GetRow("MyTable", 1, 2)
If Not r Is Nothing Then
r.Select
End If
End Sub