ich benötige ein Makro, mit dem ich einen Text anhand eines Merkmals (z.B. Prüfziffer) in einen neuen Reiter kopieren kann.
Der Aufbau ist wie folgt: In Spalte E stehen eine ganze Menge an Daten untereinander, von denen ich nur einen gewissen Teil benötige. Wenn z.B. die Prüfziffer "1" in Spalte E kommt, sollen alle darunter stehenden Werte in die Tabelle 2 kopiert werden, bis in Spalte E die Prüfziffer "2" kommt.
11.08.2019, 16:35 (Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2019, 16:35 von Käpt'n Blaubär.)
Hallo,
Zitat:Kann jemand helfen?
... bei Deinen spärlichen Angaben eher nicht.
Ein Makro arbeitet mit festen Vorgaben. Da kann man nichts mit "undefinierten Teilmengen" oder mit "mehr" oder "weniger" oder anderen WischiWaschi-Angaben programmieren.
Genauer gesagt brauche ich ein Makro, welches einen definierten Textteil in einen neuen Reiter überträgt. Ich habe dir dazu eine Beispieldatei angehängt.
Innerhalb der Datei sollen die drei Felder mit der Bezeichnung "Text" in einen zweiten Reiter eingefügt werden. Wichtig ist hierbei, dass ab der Zahl zwei das Makro stoppt, auch wenn theoretisch noch weitere Textfelder folgen könnten.
danke für deine Formel. Sie funktioniert super. Wenn jemand dafür noch ein Makro hat, dann nehme ich das auch gerne, aber vielen Dank schon einmal an dich für deine Hilfe.
Sub prcKopieren() Dim rngA As Range, rngB As Range Dim lngRow As Long
With Worksheets("Tabelle2") lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row End With With Worksheets("Tabelle1") Set rngA = .Columns(5).Find(1, lookat:=xlWhole, LookIn:=xlValues) Set rngB = .Columns(5).Find(2, lookat:=xlWhole, LookIn:=xlValues) If Not rngA Is Nothing And Not rngB Is Nothing Then .Rows(rngA.Row).Resize(rngB.Row - rngA.Row).Copy Worksheets("Tabelle2").Cells(lngRow, 1) Else MsgBox "Die 1 oder 2 wurde nicht gefunden" End If End With End Sub
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28 • Roboter
11.08.2019, 19:59 (Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2019, 20:25 von Roboter.)
Hallo,
vielen Dank für das Makro. Funktioniert bestens. Ich teste noch ein bisschen, aber es funktioniert wirklich gut. Dankeschön. Hallo,
könntest du mir noch bitte helfen? Wie müsste das Makro lauten, wenn in Tab2 die Überschrift in E2 soll und der komplette Text in F2 (alle drei Beispielzeilen mit dem Wort "Text")? Derzeitig werden die Überschrift und die Texte untereinander in Tab2 ab A1 geschrieben.
Sub prcKopieren() Dim rngA As Range, rngB As Range Dim lngRow As Long
With Worksheets("Tabelle2") lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 End With With Worksheets("Tabelle1") Set rngA = .Columns(5).Find(1, lookat:=xlWhole, LookIn:=xlValues) Set rngB = .Columns(5).Find(2, lookat:=xlWhole, LookIn:=xlValues) If Not rngA Is Nothing And Not rngB Is Nothing Then ' .Rows(rngA.Row).Resize(rngB.Row - rngA.Row).Copy Worksheets("Tabelle2").Cells(lngRow, 1) .Rows(rngA.Row).Resize(rngB.Row - rngA.Row).Copy Worksheets("Tabelle2").Cells(lngRow, 1).PasteSpecial Transpose:=True Application.CutCopyMode = False Else MsgBox "Die 1 oder 2 wurde nicht gefunden" End If End With End Sub
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28 • Roboter