从 Excel 电子表格中提取一行数据

从 Excel 电子表格中提取一行数据

我需要从 excel 电子表格中提取一行数据并将其传输到另一个工作表。我需要搜索一连串破折号 (- - - - -),然后提取破折号下方 2 行的数据行。

答案1

Excel 查找 查找语法

Dim rFound 作为范围

其中“表达式”是任何有效的范围对象,例如 Range(“A1:A100”)、Columns(2) 等。此外,每当我们使用 Find 方法时都会返回一个 Range 对象。

表达式.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Dim rFound As Range On Error 继续下一步

    With ActiveWorkbook.ActiveSheet

        Set rFound = .Columns(1).Find(What:="- - - - -", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

    On Error GoTo 0
        If Not rFound Is Nothing Then
             Match = rFound.Address
             MsgBox (rFound.Offset(2, 0))


        End If

    End With

答案2

我将为此使用 Power Query 插件。它可以从 Excel 表中读取数据。

我将构建 2 个查询。第一个查询将添加一个索引列(行号),然后筛选带破折号的行。然后我将添加一个简单的计算列:[索引] + 2。此查询不需要输出表格。

第二个查询将从基表开始,然后使用“[Index] + 2”列和内部连接类型(仅保留匹配)与第一个查询合并。此查询将在 Excel 中输出一个新表。

只需在 Power Query UI 中单击即可构建几乎所有这些内容。所需的一个公式非常简单:[Index] + 2

相关内容