Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen zwischen Zeichenfolge kopieren

Zeilen zwischen Zeichenfolge kopieren
20.09.2021 12:50:42
Tobias
Hallo wertes Forum
hier mein zweites Problem
Ausgangssituation und Wunschergebnis hab ich wieder in der Tabelle.
https://www.herber.de/bbs/user/148163.xlsx
Ergebnis wird sich vermutlich nur mit VBA lösen lassen?
Er soll mir alle Zeilen im Tabellenblatt 1 die zwischen den Zeichenfolgen "&&445" und "arfe" in Tabellenblatt 2 kopieren und je einer Leerzeile nach jedem kopierten Block.
Danke
Gruß
Tobias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wäre auch mit Formel möglich ...
20.09.2021 12:57:22
neopa
Hallo Tobias,
... wie viele Datensätze sind denn auszuwerten?
Gruß Werner
.. , - ...
AW: Zeilen zwischen Zeichenfolge kopieren
20.09.2021 13:12:32
Daniel
HI
ohne VBA so:
1, in Tabelle1 in Zelle B2 diese Formel und dann nach unten ziehen:

=WENN(A1="&&445";ZEILE();WENN(A1="arfe";"xxx";WENN(ISTZAHL(B1);ZEILE();"xxx")))
2. im Ausgabetabellenblatt dann diese Formel in die erste Zeile und soweit nach unten ziehen, bis die "---" kommen:

=WENNFEHLER(WECHSELN(INDEX(Tabelle1!A:A;KKLEINSTE(Tabelle1!B:B;ZEILE(A1)));"arfe";"");"---")
Gruß Daniel
Anzeige
AW: Zeilen zwischen Zeichenfolge kopieren
20.09.2021 13:46:56
Daniel
HI
also VBA würde das dann so gehen:

Sub test()
Dim arr1, arr2, T
Dim z1 As Long, z2 As Long
Dim Check As Boolean
arr1 = Sheets("Tabelle1").Cells(1, 1).CurrentRegion.Columns(1)
ReDim arr2(1 To UBound(arr1, 1), 1 To 1)
For z1 = 1 To UBound(arr1, 1)
If arr1(z1, 1) = "&&445" Then
Check = True
ElseIf arr1(z1, 1) = "arfe" Then
Check = False
z2 = z2 + 1
ElseIf Check Then
z2 = z2 + 1
arr2(z2, 1) = arr1(z1, 1)
Else
End If
Next
Sheets("Tabelle2").Range("A1").Resize(UBound(arr2, 1), 1) = arr2
End Sub
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige