Extrahieren einer Datenzeile aus einer Excel-Tabelle

Extrahieren einer Datenzeile aus einer Excel-Tabelle

Ich muss eine Datenzeile aus einer Excel-Tabelle extrahieren und in ein anderes Blatt übertragen. Ich muss nach einer Reihe von Strichen (- - - - -) suchen und dann die Datenzeile extrahieren, die sich zwei Zeilen unter den Strichen befindet.

Antwort1

Excel-Suche Syntax suchen

Dim rFound As Bereich

Wobei „Ausdruck“ ein beliebiges gültiges Bereichsobjekt ist, z. B. Bereich(„A1:A100“), Spalten(2) usw. Außerdem wird immer dann ein Bereichsobjekt zurückgegeben, wenn wir die Suchmethode verwenden.

Ausdruck.Suchen(Was, Nach, SuchenIn, SuchenAt, Suchreihenfolge, Suchrichtung, Groß-/Kleinschreibung beachten, Byte-Angabe beachten, Suchformat)

Dim rFound As Range On Error Fortsetzen Weiter

    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

Antwort2

Ich würde hierfür das Power Query Add-In verwenden. Es kann Daten aus Excel-Tabellen lesen.

Ich würde 2 Abfragen erstellen. Die erste würde eine Indexspalte (Zeilennummer) hinzufügen und dann nach den Zeilen mit Bindestrichen filtern. Ich würde dann eine einfache berechnete Spalte hinzufügen: [Index] + 2. Diese Abfrage muss keine Tabelle ausgeben.

Die zweite Abfrage würde mit der Basistabelle beginnen und dann mit der ersten Abfrage unter Verwendung der Spalte „[Index] + 2“ und einem Join-Typ von „inner“ (nur Übereinstimmungen behalten) zusammengeführt werden. Diese Abfrage würde eine neue Tabelle in Excel ausgeben.

Sie könnten fast alles davon erstellen, indem Sie einfach in der Power Query-Benutzeroberfläche herumklicken. Die benötigte Formel wäre sehr einfach: [Index] + 2.

verwandte Informationen